========== IMPORTANT NOTE ===============
The way I removed the text between ASN.1 definitions was:
* Using the web site: https://coding.tools/regex-replace
* Setting to "ON" the flags "m" (multi-line) and "s" (dotAll)
* Using the following regular expression:
  ^-- ASN1STOP.*?-- ASN1START$
* Using the following replace expression
  -- ASN1STOP##-- ASN1START#
* Postprocessing the result in textpad replacing:
  ^-- ASN1STOP##-- ASN1START#$
  by:
  -- ASN1STOP\n\n-- ASN1START\n

========== BEGGINING OF FILE ===============
3GPP TS 38.331 V17.4.0 (2023-03)
Technical Specification
3rd Generation Partnership Project;
Technical Specification Group Radio Access Network;
NR;
Radio Resource Control (RRC) protocol specification
(Release 17)

-- ASN1START
-- TAG-NR-RRC-DEFINITIONS-START

NR-RRC-Definitions DEFINITIONS AUTOMATIC TAGS ::=

BEGIN

-- TAG-NR-RRC-DEFINITIONS-STOP
-- ASN1STOP

-- ASN1START

-- TAG-BCCH-BCH-MESSAGE-START

BCCH-BCH-Message ::=            SEQUENCE {
    message                         BCCH-BCH-MessageType
}

BCCH-BCH-MessageType ::=        CHOICE {
    mib                             MIB,
    messageClassExtension           SEQUENCE {}
}

-- TAG-BCCH-BCH-MESSAGE-STOP
-- ASN1STOP

-- ASN1START

-- TAG-BCCH-DL-SCH-MESSAGE-START

BCCH-DL-SCH-Message ::=         SEQUENCE {
    message                         BCCH-DL-SCH-MessageType
}

BCCH-DL-SCH-MessageType ::=     CHOICE {
    c1                              CHOICE {
        systemInformation               SystemInformation,
        systemInformationBlockType1     SIB1
    },
    messageClassExtension           SEQUENCE {}
}

-- TAG-BCCH-DL-SCH-MESSAGE-STOP
-- ASN1STOP

-- ASN1START

-- TAG-DL-CCCH-MESSAGE-START

DL-CCCH-Message ::=             SEQUENCE {
    message                         DL-CCCH-MessageType
}

DL-CCCH-MessageType ::=         CHOICE {
    c1                              CHOICE {
        rrcReject                       RRCReject,
        rrcSetup                        RRCSetup,
        spare2                          NULL,
        spare1                          NULL
    },
    messageClassExtension           SEQUENCE {}
}

-- TAG-DL-CCCH-MESSAGE-STOP
-- ASN1STOP

-- ASN1START

-- TAG-DL-DCCH-MESSAGE-START

DL-DCCH-Message ::=                  SEQUENCE {
    message                             DL-DCCH-MessageType
}

DL-DCCH-MessageType ::=             CHOICE {
    c1                                  CHOICE {
        rrcReconfiguration                  RRCReconfiguration,
        rrcResume                           RRCResume,
        rrcRelease                          RRCRelease,
        rrcReestablishment                  RRCReestablishment,
        securityModeCommand                 SecurityModeCommand,
        dlInformationTransfer               DLInformationTransfer,
        ueCapabilityEnquiry                 UECapabilityEnquiry,
        counterCheck                        CounterCheck,
        mobilityFromNRCommand               MobilityFromNRCommand,
        dlDedicatedMessageSegment-r16       DLDedicatedMessageSegment-r16,
        ueInformationRequest-r16            UEInformationRequest-r16,
        dlInformationTransferMRDC-r16       DLInformationTransferMRDC-r16,
        loggedMeasurementConfiguration-r16  LoggedMeasurementConfiguration-r16,
                spare3 NULL, spare2 NULL, spare1 NULL
    },
    messageClassExtension   SEQUENCE {}
}

-- TAG-DL-DCCH-MESSAGE-STOP
-- ASN1STOP

-- ASN1START

-- TAG-MCCH-MESSAGE-START

MCCH-Message-r17 ::= SEQUENCE {
    message              MCCH-MessageType-r17
}

MCCH-MessageType-r17 ::= CHOICE {
    c1                       CHOICE {
        mbsBroadcastConfiguration-r17     MBSBroadcastConfiguration-r17,
        spare1                            NULL
    },
    messageClassExtension   SEQUENCE {}
}

-- TAG-MCCH-MESSAGE-STOP
-- ASN1STOP

-- ASN1START

-- TAG-PCCH-PCH-MESSAGE-START

PCCH-Message ::=                SEQUENCE {
    message                         PCCH-MessageType
}

PCCH-MessageType ::=            CHOICE {
    c1                              CHOICE {
        paging                          Paging,
        spare1  NULL
    },
    messageClassExtension       SEQUENCE {}
}

-- TAG-PCCH-PCH-MESSAGE-STOP
-- ASN1STOP

-- ASN1START

-- TAG-UL-CCCH-MESSAGE-START


UL-CCCH-Message ::=             SEQUENCE {
    message                         UL-CCCH-MessageType
}

UL-CCCH-MessageType ::=         CHOICE {
    c1                              CHOICE {
        rrcSetupRequest                 RRCSetupRequest,
        rrcResumeRequest                RRCResumeRequest,
        rrcReestablishmentRequest       RRCReestablishmentRequest,
        rrcSystemInfoRequest            RRCSystemInfoRequest
    },
    messageClassExtension           SEQUENCE {}
}

-- TAG-UL-CCCH-MESSAGE-STOP
-- ASN1STOP

-- ASN1START

-- TAG-UL-CCCH1-MESSAGE-START


UL-CCCH1-Message ::=            SEQUENCE {
    message                         UL-CCCH1-MessageType
}

UL-CCCH1-MessageType ::=        CHOICE {
    c1                              CHOICE {
        rrcResumeRequest1               RRCResumeRequest1,
        spare3 NULL,
        spare2 NULL,
        spare1 NULL

    },
    messageClassExtension SEQUENCE {}
}

-- TAG-UL-CCCH1-MESSAGE-STOP
-- ASN1STOP

-- ASN1START

-- TAG-UL-DCCH-MESSAGE-START

UL-DCCH-Message ::=             SEQUENCE {
    message                         UL-DCCH-MessageType
}

UL-DCCH-MessageType ::=         CHOICE {
    c1                              CHOICE {
        measurementReport               MeasurementReport,
        rrcReconfigurationComplete      RRCReconfigurationComplete,
        rrcSetupComplete                RRCSetupComplete,
        rrcReestablishmentComplete      RRCReestablishmentComplete,
        rrcResumeComplete               RRCResumeComplete,
        securityModeComplete            SecurityModeComplete,
        securityModeFailure             SecurityModeFailure,
        ulInformationTransfer           ULInformationTransfer,
        locationMeasurementIndication   LocationMeasurementIndication,
        ueCapabilityInformation         UECapabilityInformation,
        counterCheckResponse            CounterCheckResponse,
        ueAssistanceInformation         UEAssistanceInformation,
        failureInformation              FailureInformation,
        ulInformationTransferMRDC       ULInformationTransferMRDC,
        scgFailureInformation           SCGFailureInformation,
        scgFailureInformationEUTRA      SCGFailureInformationEUTRA
    },
    messageClassExtension           CHOICE {
        c2                              CHOICE {
            ulDedicatedMessageSegment-r16    ULDedicatedMessageSegment-r16,
            dedicatedSIBRequest-r16         DedicatedSIBRequest-r16,
            mcgFailureInformation-r16       MCGFailureInformation-r16,
            ueInformationResponse-r16       UEInformationResponse-r16,
            sidelinkUEInformationNR-r16     SidelinkUEInformationNR-r16,
            ulInformationTransferIRAT-r16   ULInformationTransferIRAT-r16,
            iabOtherInformation-r16         IABOtherInformation-r16,
            mbsInterestIndication-r17       MBSInterestIndication-r17,
            uePositioningAssistanceInfo-r17 UEPositioningAssistanceInfo-r17,
            measurementReportAppLayer-r17   MeasurementReportAppLayer-r17,
                                            spare6 NULL, spare5 NULL, spare4 NULL, spare3 NULL, spare2 NULL, spare1 NULL
        },
        messageClassExtensionFuture-r16    SEQUENCE {}
    }
}

-- TAG-UL-DCCH-MESSAGE-STOP
-- ASN1STOP

-- ASN1START

-- TAG-COUNTERCHECK-START


CounterCheck ::=                SEQUENCE {
    rrc-TransactionIdentifier       RRC-TransactionIdentifier,
    criticalExtensions              CHOICE {
        counterCheck                    CounterCheck-IEs,
        criticalExtensionsFuture        SEQUENCE {}
    }
}

CounterCheck-IEs ::=            SEQUENCE {
    drb-CountMSB-InfoList           DRB-CountMSB-InfoList,
    lateNonCriticalExtension        OCTET STRING                        OPTIONAL,
    nonCriticalExtension            SEQUENCE {}                         OPTIONAL
}

DRB-CountMSB-InfoList ::=       SEQUENCE (SIZE (1..maxDRB)) OF DRB-CountMSB-Info

DRB-CountMSB-Info ::=           SEQUENCE {
    drb-Identity                    DRB-Identity,
    countMSB-Uplink                 INTEGER(0..33554431),
    countMSB-Downlink               INTEGER(0..33554431)
}

-- TAG-COUNTERCHECK-STOP
-- ASN1STOP

-- ASN1START

-- TAG-COUNTERCHECKRESPONSE-START

CounterCheckResponse ::=        SEQUENCE {
    rrc-TransactionIdentifier       RRC-TransactionIdentifier,
    criticalExtensions              CHOICE {
        counterCheckResponse            CounterCheckResponse-IEs,
        criticalExtensionsFuture        SEQUENCE {}
    }
}

CounterCheckResponse-IEs ::=    SEQUENCE {
    drb-CountInfoList               DRB-CountInfoList,
    lateNonCriticalExtension        OCTET STRING                        OPTIONAL,
    nonCriticalExtension            SEQUENCE {}                         OPTIONAL

}

DRB-CountInfoList ::=           SEQUENCE (SIZE (0..maxDRB)) OF DRB-CountInfo

DRB-CountInfo ::=               SEQUENCE {
    drb-Identity                    DRB-Identity,
    count-Uplink                    INTEGER(0..4294967295),
    count-Downlink                  INTEGER(0..4294967295)
}

-- TAG-COUNTERCHECKRESPONSE-STOP
-- ASN1STOP

-- ASN1START

-- TAG-DEDICATEDSIBREQUEST-START

DedicatedSIBRequest-r16 ::=      SEQUENCE {
    criticalExtensions               CHOICE {
        dedicatedSIBRequest-r16          DedicatedSIBRequest-r16-IEs,
        criticalExtensionsFuture         SEQUENCE {}
    }
}

DedicatedSIBRequest-r16-IEs ::=  SEQUENCE {
    onDemandSIB-RequestList-r16       SEQUENCE {

        requestedSIB-List-r16            SEQUENCE (SIZE (1..maxOnDemandSIB-r16)) OF SIB-ReqInfo-r16                OPTIONAL,
        requestedPosSIB-List-r16         SEQUENCE (SIZE (1..maxOnDemandPosSIB-r16)) OF PosSIB-ReqInfo-r16          OPTIONAL
    } OPTIONAL,
    lateNonCriticalExtension         OCTET STRING             OPTIONAL,
    nonCriticalExtension             SEQUENCE {}              OPTIONAL
}

SIB-ReqInfo-r16 ::=                   ENUMERATED { sib12, sib13, sib14, sib20-v1700, sib21-v1700, spare3, spare2, spare1 }

PosSIB-ReqInfo-r16 ::=       SEQUENCE {
    gnss-id-r16                  GNSS-ID-r16                  OPTIONAL,
    sbas-id-r16                  SBAS-ID-r16                  OPTIONAL,
    posSibType-r16               ENUMERATED { posSibType1-1, posSibType1-2, posSibType1-3, posSibType1-4, posSibType1-5, posSibType1-6,
                                              posSibType1-7, posSibType1-8, posSibType2-1, posSibType2-2, posSibType2-3, posSibType2-4,
                                              posSibType2-5, posSibType2-6, posSibType2-7, posSibType2-8, posSibType2-9, posSibType2-10,
                                              posSibType2-11, posSibType2-12, posSibType2-13, posSibType2-14, posSibType2-15,
                                              posSibType2-16, posSibType2-17, posSibType2-18, posSibType2-19, posSibType2-20,
                                              posSibType2-21, posSibType2-22, posSibType2-23, posSibType3-1, posSibType4-1,
                                              posSibType5-1, posSibType6-1, posSibType6-2, posSibType6-3,..., posSibType1-9-v1710,
                                              posSibType1-10-v1710, posSibType2-24-v1710, posSibType2-25-v1710,
                                              posSibType6-4-v1710, posSibType6-5-v1710, posSibType6-6-v1710 }
}

-- TAG-DEDICATEDSIBREQUEST-STOP
-- ASN1STOP

-- ASN1START

-- TAG-DLDEDICATEDMESSAGESEGMENT-START


DLDedicatedMessageSegment-r16 ::=       SEQUENCE {
    criticalExtensions                      CHOICE {
        dlDedicatedMessageSegment-r16           DLDedicatedMessageSegment-r16-IEs,
        criticalExtensionsFuture                SEQUENCE {}
    }
}

DLDedicatedMessageSegment-r16-IEs ::=   SEQUENCE {
    segmentNumber-r16                       INTEGER(0..4),
    rrc-MessageSegmentContainer-r16         OCTET STRING,
    rrc-MessageSegmentType-r16              ENUMERATED {notLastSegment, lastSegment},
    lateNonCriticalExtension                OCTET STRING                                  OPTIONAL,
    nonCriticalExtension                    SEQUENCE {}                                   OPTIONAL
}

-- TAG-DLDEDICATEDMESSAGESEGMENT-STOP
-- ASN1STOP

-- ASN1START

-- TAG-DLINFORMATIONTRANSFER-START

DLInformationTransfer ::=           SEQUENCE {
    rrc-TransactionIdentifier           RRC-TransactionIdentifier,
    criticalExtensions                  CHOICE {
        dlInformationTransfer           DLInformationTransfer-IEs,
        criticalExtensionsFuture            SEQUENCE {}
    }
}

DLInformationTransfer-IEs ::=       SEQUENCE {
    dedicatedNAS-Message                DedicatedNAS-Message                OPTIONAL,   -- Need N
    lateNonCriticalExtension            OCTET STRING                        OPTIONAL,
    nonCriticalExtension                DLInformationTransfer-v1610-IEs     OPTIONAL
}

DLInformationTransfer-v1610-IEs ::= SEQUENCE {
    referenceTimeInfo-r16               ReferenceTimeInfo-r16               OPTIONAL,   -- Need N
    nonCriticalExtension                DLInformationTransfer-v1700-IEs     OPTIONAL
}

DLInformationTransfer-v1700-IEs ::= SEQUENCE {
    dedicatedInfoF1c-r17                DedicatedInfoF1c-r17                OPTIONAL,   -- Need N
    rxTxTimeDiff-gNB-r17                RxTxTimeDiff-r17                    OPTIONAL,   -- Need N
    ta-PDC-r17                          ENUMERATED {activate,deactivate}    OPTIONAL,   -- Need N
    sib9Fallback-r17                    ENUMERATED {true}                   OPTIONAL,   -- Need N
    nonCriticalExtension                SEQUENCE {}                         OPTIONAL
}

-- TAG-DLINFORMATIONTRANSFER-STOP
-- ASN1STOP

-- ASN1START

-- TAG-DLINFORMATIONTRANSFERMRDC-START

DLInformationTransferMRDC-r16 ::=       SEQUENCE {
    criticalExtensions                      CHOICE {
        c1                                      CHOICE {
            dlInformationTransferMRDC-r16           DLInformationTransferMRDC-r16-IEs,
            spare3 NULL, spare2 NULL, spare1 NULL
        },
        criticalExtensionsFuture                SEQUENCE {}
    }
}

DLInformationTransferMRDC-r16-IEs ::=    SEQUENCE {
    dl-DCCH-MessageNR-r16                   OCTET STRING             OPTIONAL, -- Need N
    dl-DCCH-MessageEUTRA-r16                OCTET STRING             OPTIONAL, -- Need N
    lateNonCriticalExtension                OCTET STRING             OPTIONAL,
    nonCriticalExtension                    SEQUENCE {}              OPTIONAL
}

-- TAG-DLINFORMATIONTRANSFERMRDC-STOP
-- ASN1STOP

-- ASN1START

-- TAG-FAILUREINFORMATION-START

FailureInformation ::=         SEQUENCE {
    criticalExtensions             CHOICE {
        failureInformation             FailureInformation-IEs,
        criticalExtensionsFuture       SEQUENCE {}
    }
}

FailureInformation-IEs ::=     SEQUENCE {
    failureInfoRLC-Bearer          FailureInfoRLC-Bearer        OPTIONAL,
    lateNonCriticalExtension       OCTET STRING                 OPTIONAL,
    nonCriticalExtension           FailureInformation-v1610-IEs OPTIONAL
}

FailureInfoRLC-Bearer ::=      SEQUENCE {
    cellGroupId                    CellGroupId,
    logicalChannelIdentity         LogicalChannelIdentity,
    failureType                    ENUMERATED {rlc-failure, spare3, spare2, spare1}
}

FailureInformation-v1610-IEs ::= SEQUENCE {
    failureInfoDAPS-r16              FailureInfoDAPS-r16        OPTIONAL,
    nonCriticalExtension             SEQUENCE {}                OPTIONAL
}

FailureInfoDAPS-r16 ::=          SEQUENCE {
    failureType-r16                  ENUMERATED {daps-failure, spare3, spare2, spare1}
}

-- TAG-FAILUREINFORMATION-STOP
-- ASN1STOP

-- ASN1START

-- TAG-IABOTHERINFORMATION-START

IABOtherInformation-r16 ::=     SEQUENCE {
    rrc-TransactionIdentifier       RRC-TransactionIdentifier,
    criticalExtensions              CHOICE {
        iabOtherInformation-r16         IABOtherInformation-r16-IEs,
        criticalExtensionsFuture        SEQUENCE {}
    }
}

IABOtherInformation-r16-IEs ::=         SEQUENCE {
    ip-InfoType-r16                         CHOICE {
        iab-IP-Request-r16                      SEQUENCE {
            iab-IPv4-AddressNumReq-r16              IAB-IP-AddressNumReq-r16                OPTIONAL,
            iab-IPv6-AddressReq-r16                 CHOICE {
                iab-IPv6-AddressNumReq-r16              IAB-IP-AddressNumReq-r16,
                iab-IPv6-AddressPrefixReq-r16           IAB-IP-AddressPrefixReq-r16,
                ...
            }                                                                               OPTIONAL
        },
        iab-IP-Report-r16               SEQUENCE {
            iab-IPv4-AddressReport-r16      IAB-IP-AddressAndTraffic-r16                    OPTIONAL,
            iab-IPv6-Report-r16             CHOICE {
                iab-IPv6-AddressReport-r16      IAB-IP-AddressAndTraffic-r16,
                iab-IPv6-PrefixReport-r16       IAB-IP-PrefixAndTraffic-r16,
                ...
            }                                                                               OPTIONAL
        },
        ...
    },
    lateNonCriticalExtension        OCTET STRING                                            OPTIONAL,
    nonCriticalExtension            SEQUENCE {}                                             OPTIONAL
}

IAB-IP-AddressNumReq-r16 ::=    SEQUENCE {
    all-Traffic-NumReq-r16          INTEGER (1..8)                                  OPTIONAL,
    f1-C-Traffic-NumReq-r16         INTEGER (1..8)                                  OPTIONAL,
    f1-U-Traffic-NumReq-r16         INTEGER (1..8)                                  OPTIONAL,
    non-F1-Traffic-NumReq-r16       INTEGER (1..8)                                  OPTIONAL,
    ...
}

IAB-IP-AddressPrefixReq-r16 ::= SEQUENCE {
    all-Traffic-PrefixReq-r16       ENUMERATED {true}                               OPTIONAL,
    f1-C-Traffic-PrefixReq-r16      ENUMERATED {true}                               OPTIONAL,
    f1-U-Traffic-PrefixReq-r16      ENUMERATED {true}                               OPTIONAL,
    non-F1-Traffic-PrefixReq-r16    ENUMERATED {true}                               OPTIONAL,
    ...
}

IAB-IP-AddressAndTraffic-r16 ::= SEQUENCE {
    all-Traffic-IAB-IP-Address-r16  SEQUENCE (SIZE(1..8)) OF IAB-IP-Address-r16     OPTIONAL,
    f1-C-Traffic-IP-Address-r16     SEQUENCE (SIZE(1..8)) OF IAB-IP-Address-r16     OPTIONAL,
    f1-U-Traffic-IP-Address-r16     SEQUENCE (SIZE(1..8)) OF IAB-IP-Address-r16     OPTIONAL,
    non-F1-Traffic-IP-Address-r16   SEQUENCE (SIZE(1..8)) OF IAB-IP-Address-r16     OPTIONAL
}

IAB-IP-PrefixAndTraffic-r16 ::= SEQUENCE {
    all-Traffic-IAB-IP-Address-r16  IAB-IP-Address-r16                              OPTIONAL,
    f1-C-Traffic-IP-Address-r16     IAB-IP-Address-r16                              OPTIONAL,
    f1-U-Traffic-IP-Address-r16     IAB-IP-Address-r16                              OPTIONAL,
    non-F1-Traffic-IP-Address-r16   IAB-IP-Address-r16                              OPTIONAL
}

-- TAG-IABOTHERINFORMATION-STOP
-- ASN1STOP

-- ASN1START

-- TAG-LOCATIONMEASUREMENTINDICATION-START

LocationMeasurementIndication ::=           SEQUENCE {
    criticalExtensions                          CHOICE {
        locationMeasurementIndication               LocationMeasurementIndication-IEs,
        criticalExtensionsFuture                    SEQUENCE {}
    }
}

LocationMeasurementIndication-IEs ::=       SEQUENCE {
    measurementIndication                       SetupRelease {LocationMeasurementInfo},
    lateNonCriticalExtension                    OCTET STRING                                                            OPTIONAL,
    nonCriticalExtension                        SEQUENCE{}                                                              OPTIONAL
}

-- TAG-LOCATIONMEASUREMENTINDICATION-STOP
-- ASN1STOP

-- ASN1START

-- TAG-LOGGEDMEASUREMENTCONFIGURATION-START

LoggedMeasurementConfiguration-r16 ::=  SEQUENCE {
    criticalExtensions                      CHOICE {
        loggedMeasurementConfiguration-r16      LoggedMeasurementConfiguration-r16-IEs,
        criticalExtensionsFuture                SEQUENCE {}
    }
}

LoggedMeasurementConfiguration-r16-IEs ::=  SEQUENCE {
    traceReference-r16                          TraceReference-r16,
    traceRecordingSessionRef-r16                OCTET STRING (SIZE (2)),
    tce-Id-r16                                  OCTET STRING (SIZE (1)),
    absoluteTimeInfo-r16                        AbsoluteTimeInfo-r16,
    areaConfiguration-r16                       AreaConfiguration-r16                    OPTIONAL,  --Need R
    plmn-IdentityList-r16                       PLMN-IdentityList2-r16                   OPTIONAL,  --Need R
    bt-NameList-r16                             SetupRelease {BT-NameList-r16}           OPTIONAL,  --Need M
    wlan-NameList-r16                           SetupRelease {WLAN-NameList-r16}         OPTIONAL,  --Need M
    sensor-NameList-r16                         SetupRelease {Sensor-NameList-r16}       OPTIONAL,  --Need M
    loggingDuration-r16                         LoggingDuration-r16,
    reportType                                  CHOICE {
        periodical                                  LoggedPeriodicalReportConfig-r16,
        eventTriggered                              LoggedEventTriggerConfig-r16,
        ...
    },
    lateNonCriticalExtension                    OCTET STRING                             OPTIONAL,
    nonCriticalExtension                        LoggedMeasurementConfiguration-v1700-IEs OPTIONAL
}

LoggedMeasurementConfiguration-v1700-IEs ::= SEQUENCE {
    sigLoggedMeasType-r17                       ENUMERATED {true}                        OPTIONAL, -- Need R
    earlyMeasIndication-r17                     ENUMERATED {true}                        OPTIONAL, -- Need R
    areaConfiguration-v1700                     AreaConfiguration-v1700                  OPTIONAL,  --Need R
    nonCriticalExtension                        SEQUENCE {}                              OPTIONAL
}

LoggedPeriodicalReportConfig-r16 ::=            SEQUENCE {
    loggingInterval-r16                             LoggingInterval-r16,
    ...
 }

LoggedEventTriggerConfig-r16 ::=                SEQUENCE {
    eventType-r16                                   EventType-r16,
    loggingInterval-r16                             LoggingInterval-r16,
    ...
}

EventType-r16 ::= CHOICE {
    outOfCoverage     NULL,
    eventL1           SEQUENCE {
        l1-Threshold      MeasTriggerQuantity,
        hysteresis        Hysteresis,
        timeToTrigger     TimeToTrigger
    },
    ...
}

-- TAG-LOGGEDMEASUREMENTCONFIGURATION-STOP
-- ASN1STOP

-- ASN1START

-- TAG-MBSBROADCASTCONFIGURATION-START

MBSBroadcastConfiguration-r17 ::= SEQUENCE {
    criticalExtensions                CHOICE {
        mbsBroadcastConfiguration-r17     MBSBroadcastConfiguration-r17-IEs,
        criticalExtensionsFuture          SEQUENCE {}
    }
}

MBSBroadcastConfiguration-r17-IEs ::= SEQUENCE {
    mbs-SessionInfoList-r17               MBS-SessionInfoList-r17                                              OPTIONAL,   -- Need R
    mbs-NeighbourCellList-r17             MBS-NeighbourCellList-r17                                            OPTIONAL,   -- Need S
    drx-ConfigPTM-List-r17                SEQUENCE (SIZE (1..maxNrofDRX-ConfigPTM-r17)) OF DRX-ConfigPTM-r17   OPTIONAL,   -- Need R
    pdsch-ConfigMTCH-r17                  PDSCH-ConfigBroadcast-r17                                            OPTIONAL,   -- Need S
    mtch-SSB-MappingWindowList-r17        MTCH-SSB-MappingWindowList-r17                                       OPTIONAL,   -- Need R
    lateNonCriticalExtension              OCTET STRING                                                         OPTIONAL,
    nonCriticalExtension                  SEQUENCE {}                                                          OPTIONAL
}

-- TAG-MBSBROADCASTCONFIGURATION-STOP
-- ASN1STOP

-- ASN1START

-- TAG-MBSINTERESTINDICATION-START

MBSInterestIndication-r17 ::= SEQUENCE {
    criticalExtensions            CHOICE {
        mbsInterestIndication-r17     MBSInterestIndication-r17-IEs,
        criticalExtensionsFuture      SEQUENCE {}
    }
}

MBSInterestIndication-r17-IEs ::= SEQUENCE {
    mbs-FreqList-r17                  CarrierFreqListMBS-r17              OPTIONAL,
    mbs-Priority-r17                  ENUMERATED {true}                   OPTIONAL,
    mbs-ServiceList-r17               MBS-ServiceList-r17                 OPTIONAL,
    lateNonCriticalExtension          OCTET STRING                        OPTIONAL,
    nonCriticalExtension              SEQUENCE {}                         OPTIONAL
}

-- TAG-MBSINTERESTINDICATION-STOP
-- ASN1STOP

-- ASN1START

-- TAG-MCGFAILUREINFORMATION-START

MCGFailureInformation-r16 ::=    SEQUENCE {
    criticalExtensions               CHOICE {
        mcgFailureInformation-r16        MCGFailureInformation-r16-IEs,
        criticalExtensionsFuture         SEQUENCE {}
    }
}

MCGFailureInformation-r16-IEs ::= SEQUENCE {
    failureReportMCG-r16              FailureReportMCG-r16                             OPTIONAL,
    lateNonCriticalExtension          OCTET STRING                                     OPTIONAL,
    nonCriticalExtension              SEQUENCE {}                                      OPTIONAL
}

FailureReportMCG-r16 ::=          SEQUENCE {
    failureType-r16                   ENUMERATED {t310-Expiry, randomAccessProblem, rlc-MaxNumRetx,
                                                         t312-Expiry-r16, lbt-Failure-r16, beamFailureRecoveryFailure-r16,
                                         bh-RLF-r16, spare1}                                                                            OPTIONAL,
    measResultFreqList-r16            MeasResultList2NR                                                                     OPTIONAL,
    measResultFreqListEUTRA-r16       MeasResultList2EUTRA                                                                  OPTIONAL,
    measResultSCG-r16                 OCTET STRING (CONTAINING MeasResultSCG-Failure)                                       OPTIONAL,
    measResultSCG-EUTRA-r16           OCTET STRING                                                                          OPTIONAL,
    measResultFreqListUTRA-FDD-r16    MeasResultList2UTRA                                                                   OPTIONAL,
    ...
}

MeasResultList2UTRA ::=    SEQUENCE (SIZE (1..maxFreq)) OF MeasResult2UTRA-FDD-r16

MeasResult2UTRA-FDD-r16 ::=       SEQUENCE {
    carrierFreq-r16                   ARFCN-ValueUTRA-FDD-r16,
    measResultNeighCellList-r16       MeasResultListUTRA-FDD-r16
}

MeasResultList2EUTRA ::=          SEQUENCE (SIZE (1..maxFreq)) OF MeasResult2EUTRA-r16

-- TAG-MCGFAILUREINFORMATION-STOP
-- ASN1STOP

-- ASN1START

-- TAG-MEASUREMENTREPORT-START

MeasurementReport ::=               SEQUENCE {
    criticalExtensions                  CHOICE {
        measurementReport                   MeasurementReport-IEs,
        criticalExtensionsFuture            SEQUENCE {}
    }
}

MeasurementReport-IEs ::=           SEQUENCE {
    measResults                         MeasResults,

    lateNonCriticalExtension                OCTET STRING                                                            OPTIONAL,
    nonCriticalExtension                    SEQUENCE{}                                                              OPTIONAL
}

-- TAG-MEASUREMENTREPORT-STOP
-- ASN1STOP

-- ASN1START

-- TAG-MEASUREMENTREPORTAPPLAYER-START

MeasurementReportAppLayer-r17 ::=     SEQUENCE {
    criticalExtensions                    CHOICE {
        measurementReportAppLayer-r17     MeasurementReportAppLayer-r17-IEs,
        criticalExtensionsFuture              SEQUENCE {}
    }
}

MeasurementReportAppLayer-r17-IEs ::=   SEQUENCE {
    measurementReportAppLayerList-r17       MeasurementReportAppLayerList-r17,
    lateNonCriticalExtension                OCTET STRING                                                           OPTIONAL,
    nonCriticalExtension                    SEQUENCE{}                                                             OPTIONAL
}

MeasurementReportAppLayerList-r17 ::= SEQUENCE (SIZE (1..maxNrofAppLayerMeas-r17)) OF MeasReportAppLayer-r17

MeasReportAppLayer-r17 ::=        SEQUENCE {
    measConfigAppLayerId-r17              MeasConfigAppLayerId-r17,
    measReportAppLayerContainer-r17       OCTET STRING                                                             OPTIONAL,
    appLayerSessionStatus-r17             ENUMERATED {started, stopped}                                            OPTIONAL,
    ran-VisibleMeasurements-r17           RAN-VisibleMeasurements-r17                                              OPTIONAL
}

RAN-VisibleMeasurements-r17 ::=       SEQUENCE {
    appLayerBufferLevelList-r17           SEQUENCE (SIZE (1..8)) OF AppLayerBufferLevel-r17                        OPTIONAL,
    playoutDelayForMediaStartup-r17       INTEGER (0..30000)                                                       OPTIONAL,
    pdu-SessionIdList-r17                 SEQUENCE (SIZE (1..maxNrofPDU-Sessions-r17)) OF PDU-SessionID            OPTIONAL,
    ...
}

AppLayerBufferLevel-r17 ::= INTEGER (0..30000)

-- TAG-MEASUREMENTREPORTAPPLAYER-STOP
-- ASN1STOP

-- ASN1START

-- TAG-MIB-START

MIB ::=                             SEQUENCE {
    systemFrameNumber                   BIT STRING (SIZE (6)),
    subCarrierSpacingCommon             ENUMERATED {scs15or60, scs30or120},
    ssb-SubcarrierOffset                INTEGER (0..15),
    dmrs-TypeA-Position                 ENUMERATED {pos2, pos3},
    pdcch-ConfigSIB1                    PDCCH-ConfigSIB1,
    cellBarred                          ENUMERATED {barred, notBarred},
    intraFreqReselection                ENUMERATED {allowed, notAllowed},
    spare                               BIT STRING (SIZE (1))
}

-- TAG-MIB-STOP
-- ASN1STOP

-- ASN1START

-- TAG-MOBILITYFROMNRCOMMAND-START

MobilityFromNRCommand ::=           SEQUENCE {
    rrc-TransactionIdentifier           RRC-TransactionIdentifier,
    criticalExtensions                  CHOICE {
            mobilityFromNRCommand           MobilityFromNRCommand-IEs,
            criticalExtensionsFuture        SEQUENCE {}
    }
}

MobilityFromNRCommand-IEs ::=       SEQUENCE {
    targetRAT-Type                      ENUMERATED { eutra, utra-fdd-v1610, spare2, spare1, ...},
    targetRAT-MessageContainer          OCTET STRING,
    nas-SecurityParamFromNR             OCTET STRING                                                OPTIONAL,   -- Cond HO-ToEPCUTRAN
    lateNonCriticalExtension            OCTET STRING                                                OPTIONAL,
    nonCriticalExtension                MobilityFromNRCommand-v1610-IEs                             OPTIONAL
}

MobilityFromNRCommand-v1610-IEs ::=     SEQUENCE {
    voiceFallbackIndication-r16             ENUMERATED {true}                                       OPTIONAL,   -- Need N
    nonCriticalExtension                    SEQUENCE {}                                             OPTIONAL
}

-- TAG-MOBILITYFROMNRCOMMAND-STOP
-- ASN1STOP

-- ASN1START

-- TAG-PAGING-START

Paging ::=                          SEQUENCE {
    pagingRecordList                    PagingRecordList                                                        OPTIONAL, -- Need N
    lateNonCriticalExtension            OCTET STRING                                                            OPTIONAL,
    nonCriticalExtension                Paging-v1700-IEs                                                        OPTIONAL
}

Paging-v1700-IEs ::=                SEQUENCE {
    pagingRecordList-v1700              PagingRecordList-v1700                                                  OPTIONAL, -- Need N
    pagingGroupList-r17                 PagingGroupList-r17                                                     OPTIONAL, -- Need N
    nonCriticalExtension                SEQUENCE {}                                                             OPTIONAL
}

PagingRecordList ::=                SEQUENCE (SIZE(1..maxNrofPageRec)) OF PagingRecord

PagingRecordList-v1700 ::=          SEQUENCE (SIZE(1..maxNrofPageRec)) OF PagingRecord-v1700

PagingGroupList-r17 ::=             SEQUENCE (SIZE(1..maxNrofPageGroup-r17)) OF TMGI-r17

PagingRecord ::=                    SEQUENCE {
    ue-Identity                         PagingUE-Identity,
    accessType                          ENUMERATED {non3GPP}    OPTIONAL,   -- Need N
    ...
}

PagingRecord-v1700 ::=              SEQUENCE {
    pagingCause-r17                     ENUMERATED {voice}      OPTIONAL    -- Need N
}

PagingUE-Identity ::=               CHOICE {
    ng-5G-S-TMSI                        NG-5G-S-TMSI,
    fullI-RNTI                          I-RNTI-Value,
    ...
}

-- TAG-PAGING-STOP
-- ASN1STOP

-- ASN1START

-- TAG-RRCREESTABLISHMENT-START

RRCReestablishment ::=              SEQUENCE {
    rrc-TransactionIdentifier           RRC-TransactionIdentifier,
    criticalExtensions                  CHOICE {
        rrcReestablishment                  RRCReestablishment-IEs,
        criticalExtensionsFuture            SEQUENCE {}
    }
}

RRCReestablishment-IEs ::=          SEQUENCE {
    nextHopChainingCount                NextHopChainingCount,
    lateNonCriticalExtension            OCTET STRING                        OPTIONAL,
    nonCriticalExtension                RRCReestablishment-v1700-IEs         OPTIONAL
}

RRCReestablishment-v1700-IEs ::=    SEQUENCE {
    sl-L2RemoteUE-Config-r17            SetupRelease {SL-L2RemoteUE-Config-r17}    OPTIONAL, -- Cond L2RemoteUE
    nonCriticalExtension                SEQUENCE {}                                OPTIONAL
}

-- TAG-RRCREESTABLISHMENT-STOP
-- ASN1STOP

-- ASN1START

-- TAG-RRCREESTABLISHMENTCOMPLETE-START

RRCReestablishmentComplete ::=              SEQUENCE {
    rrc-TransactionIdentifier                   RRC-TransactionIdentifier,
    criticalExtensions                          CHOICE {
        rrcReestablishmentComplete                  RRCReestablishmentComplete-IEs,
        criticalExtensionsFuture                    SEQUENCE {}
    }
}

RRCReestablishmentComplete-IEs ::=          SEQUENCE {
    lateNonCriticalExtension                    OCTET STRING                            OPTIONAL,
    nonCriticalExtension                        RRCReestablishmentComplete-v1610-IEs    OPTIONAL
}

RRCReestablishmentComplete-v1610-IEs ::=    SEQUENCE {
    ue-MeasurementsAvailable-r16                UE-MeasurementsAvailable-r16    OPTIONAL,
    nonCriticalExtension                        SEQUENCE {}                     OPTIONAL
}

-- TAG-RRCREESTABLISHMENTCOMPLETE-STOP
-- ASN1STOP

-- ASN1START

-- TAG-RRCREESTABLISHMENTREQUEST-START


RRCReestablishmentRequest ::=       SEQUENCE {
    rrcReestablishmentRequest           RRCReestablishmentRequest-IEs
}

RRCReestablishmentRequest-IEs ::=   SEQUENCE {
    ue-Identity                         ReestabUE-Identity,
    reestablishmentCause                ReestablishmentCause,
    spare                               BIT STRING (SIZE (1))
}

ReestabUE-Identity ::=              SEQUENCE {
    c-RNTI                              RNTI-Value,
    physCellId                          PhysCellId,
    shortMAC-I                          ShortMAC-I
}

ReestablishmentCause ::=            ENUMERATED {reconfigurationFailure, handoverFailure, otherFailure, spare1}

-- TAG-RRCREESTABLISHMENTREQUEST-STOP
-- ASN1STOP

-- ASN1START

-- TAG-RRCRECONFIGURATION-START

RRCReconfiguration ::=                  SEQUENCE {
    rrc-TransactionIdentifier               RRC-TransactionIdentifier,
    criticalExtensions                      CHOICE {
        rrcReconfiguration                      RRCReconfiguration-IEs,
        criticalExtensionsFuture                SEQUENCE {}
    }
}

RRCReconfiguration-IEs ::=              SEQUENCE {
    radioBearerConfig                       RadioBearerConfig                                                      OPTIONAL, -- Need M
    secondaryCellGroup                      OCTET STRING (CONTAINING CellGroupConfig)                              OPTIONAL, -- Cond SCG
    measConfig                              MeasConfig                                                             OPTIONAL, -- Need M
    lateNonCriticalExtension                OCTET STRING                                                           OPTIONAL,
    nonCriticalExtension                    RRCReconfiguration-v1530-IEs                                           OPTIONAL
}

RRCReconfiguration-v1530-IEs ::=            SEQUENCE {
    masterCellGroup                         OCTET STRING (CONTAINING CellGroupConfig)                              OPTIONAL, -- Need M
    fullConfig                              ENUMERATED {true}                                                      OPTIONAL, -- Cond FullConfig
    dedicatedNAS-MessageList                SEQUENCE (SIZE(1..maxDRB)) OF DedicatedNAS-Message                     OPTIONAL, -- Cond nonHO
    masterKeyUpdate                         MasterKeyUpdate                                                        OPTIONAL, -- Cond MasterKeyChange
    dedicatedSIB1-Delivery                  OCTET STRING (CONTAINING SIB1)                                         OPTIONAL, -- Need N
    dedicatedSystemInformationDelivery      OCTET STRING (CONTAINING SystemInformation)                            OPTIONAL, -- Need N
    otherConfig                             OtherConfig                                                            OPTIONAL, -- Need M
    nonCriticalExtension                    RRCReconfiguration-v1540-IEs                                           OPTIONAL
}

RRCReconfiguration-v1540-IEs ::=        SEQUENCE {
    otherConfig-v1540                       OtherConfig-v1540                                                      OPTIONAL, -- Need M
    nonCriticalExtension                    RRCReconfiguration-v1560-IEs                                           OPTIONAL
}

RRCReconfiguration-v1560-IEs ::=         SEQUENCE {
    mrdc-SecondaryCellGroupConfig            SetupRelease { MRDC-SecondaryCellGroupConfig }                        OPTIONAL,   -- Need M
    radioBearerConfig2                       OCTET STRING (CONTAINING RadioBearerConfig)                           OPTIONAL,   -- Need M
    sk-Counter                               SK-Counter                                                            OPTIONAL,   -- Need N
    nonCriticalExtension                     RRCReconfiguration-v1610-IEs                                          OPTIONAL
}
RRCReconfiguration-v1610-IEs ::=        SEQUENCE {
    otherConfig-v1610                       OtherConfig-v1610                                                    OPTIONAL, -- Need M
    bap-Config-r16                          SetupRelease { BAP-Config-r16 }                                      OPTIONAL, -- Need M
    iab-IP-AddressConfigurationList-r16     IAB-IP-AddressConfigurationList-r16                                  OPTIONAL, -- Need M
    conditionalReconfiguration-r16          ConditionalReconfiguration-r16                                       OPTIONAL, -- Need M
    daps-SourceRelease-r16                  ENUMERATED{true}                                                     OPTIONAL, -- Need N
    t316-r16                                SetupRelease {T316-r16}                                              OPTIONAL, -- Need M
    needForGapsConfigNR-r16                 SetupRelease {NeedForGapsConfigNR-r16}                               OPTIONAL, -- Need M
    onDemandSIB-Request-r16                 SetupRelease { OnDemandSIB-Request-r16 }                             OPTIONAL, -- Need M
    dedicatedPosSysInfoDelivery-r16         OCTET STRING (CONTAINING PosSystemInformation-r16-IEs)               OPTIONAL, -- Need N
    sl-ConfigDedicatedNR-r16                SetupRelease {SL-ConfigDedicatedNR-r16}                              OPTIONAL, -- Need M
    sl-ConfigDedicatedEUTRA-Info-r16        SetupRelease {SL-ConfigDedicatedEUTRA-Info-r16}                      OPTIONAL, -- Need M
    targetCellSMTC-SCG-r16                  SSB-MTC                                                              OPTIONAL, -- Need S
    nonCriticalExtension                    RRCReconfiguration-v1700-IEs                                         OPTIONAL
}

RRCReconfiguration-v1700-IEs ::=        SEQUENCE {
    otherConfig-v1700                       OtherConfig-v1700                                              OPTIONAL, -- Need M
    sl-L2RelayUE-Config-r17                 SetupRelease { SL-L2RelayUE-Config-r17 }                       OPTIONAL, -- Need M
    sl-L2RemoteUE-Config-r17                SetupRelease { SL-L2RemoteUE-Config-r17 }                      OPTIONAL, -- Need M
    dedicatedPagingDelivery-r17             OCTET STRING (CONTAINING Paging)                               OPTIONAL, -- Cond PagingRelay
    needForGapNCSG-ConfigNR-r17             SetupRelease {NeedForGapNCSG-ConfigNR-r17}                     OPTIONAL, -- Need M
    needForGapNCSG-ConfigEUTRA-r17          SetupRelease {NeedForGapNCSG-ConfigEUTRA-r17}                  OPTIONAL, -- Need M
    musim-GapConfig-r17                     SetupRelease {MUSIM-GapConfig-r17}                             OPTIONAL, -- Need M
    ul-GapFR2-Config-r17                    SetupRelease { UL-GapFR2-Config-r17 }                          OPTIONAL, -- Need M
    scg-State-r17                           ENUMERATED { deactivated }                                     OPTIONAL, -- Need N
    appLayerMeasConfig-r17                  AppLayerMeasConfig-r17                                         OPTIONAL, -- Need M
    ue-TxTEG-RequestUL-TDOA-Config-r17      SetupRelease {UE-TxTEG-RequestUL-TDOA-Config-r17}              OPTIONAL,  -- Need M
    nonCriticalExtension                    SEQUENCE {}                                                    OPTIONAL
}

MRDC-SecondaryCellGroupConfig ::=       SEQUENCE {
    mrdc-ReleaseAndAdd                      ENUMERATED {true}                                                     OPTIONAL,   -- Need N
    mrdc-SecondaryCellGroup                 CHOICE {
        nr-SCG                                  OCTET STRING  (CONTAINING RRCReconfiguration),
        eutra-SCG                               OCTET STRING
    }
}

BAP-Config-r16 ::=                      SEQUENCE {
    bap-Address-r16                         BIT STRING (SIZE (10))                                    OPTIONAL, -- Need M
    defaultUL-BAP-RoutingID-r16             BAP-RoutingID-r16                                         OPTIONAL, -- Need M
    defaultUL-BH-RLC-Channel-r16            BH-RLC-ChannelID-r16                                      OPTIONAL, -- Need M
    flowControlFeedbackType-r16             ENUMERATED {perBH-RLC-Channel, perRoutingID, both}        OPTIONAL, -- Need R
    ...
}

MasterKeyUpdate ::=                 SEQUENCE {
    keySetChangeIndicator           BOOLEAN,
    nextHopChainingCount            NextHopChainingCount,
    nas-Container                   OCTET STRING                                                     OPTIONAL,    -- Cond securityNASC
    ...
}

OnDemandSIB-Request-r16 ::=                  SEQUENCE {
    onDemandSIB-RequestProhibitTimer-r16         ENUMERATED {s0, s0dot5, s1, s2, s5, s10, s20, s30}
}

T316-r16 ::=         ENUMERATED {ms50, ms100, ms200, ms300, ms400, ms500, ms600, ms1000, ms1500, ms2000}

IAB-IP-AddressConfigurationList-r16 ::= SEQUENCE {
    iab-IP-AddressToAddModList-r16      SEQUENCE (SIZE(1..maxIAB-IP-Address-r16)) OF IAB-IP-AddressConfiguration-r16 OPTIONAL, -- Need N
    iab-IP-AddressToReleaseList-r16     SEQUENCE (SIZE(1..maxIAB-IP-Address-r16)) OF IAB-IP-AddressIndex-r16         OPTIONAL, -- Need N
    ...
}

IAB-IP-AddressConfiguration-r16 ::=     SEQUENCE {
    iab-IP-AddressIndex-r16                 IAB-IP-AddressIndex-r16,
    iab-IP-Address-r16                      IAB-IP-Address-r16                                                OPTIONAL,  -- Need M
    iab-IP-Usage-r16                        IAB-IP-Usage-r16                                                  OPTIONAL,  -- Need M
    iab-donor-DU-BAP-Address-r16            BIT STRING (SIZE(10))                                             OPTIONAL,  -- Need M
...
}

SL-ConfigDedicatedEUTRA-Info-r16 ::=            SEQUENCE {
    sl-ConfigDedicatedEUTRA-r16                    OCTET STRING                                              OPTIONAL,  -- Need M
    sl-TimeOffsetEUTRA-List-r16                    SEQUENCE (SIZE (8)) OF SL-TimeOffsetEUTRA-r16             OPTIONAL    -- Need M
}

SL-TimeOffsetEUTRA-r16 ::=        ENUMERATED {ms0, ms0dot25, ms0dot5, ms0dot625, ms0dot75, ms1, ms1dot25, ms1dot5, ms1dot75,
                                              ms2, ms2dot5, ms3, ms4, ms5, ms6, ms8, ms10, ms20}

UE-TxTEG-RequestUL-TDOA-Config-r17 ::=  CHOICE {
    oneShot-r17                             NULL,
    periodicReporting-r17                   ENUMERATED { ms160, ms320, ms1280, ms2560, ms61440, ms81920, ms368640, ms737280 }
}
-- TAG-RRCRECONFIGURATION-STOP
-- ASN1STOP

-- ASN1START

-- TAG-RRCRECONFIGURATIONCOMPLETE-START

RRCReconfigurationComplete ::=              SEQUENCE {
    rrc-TransactionIdentifier                   RRC-TransactionIdentifier,
    criticalExtensions                          CHOICE {
        rrcReconfigurationComplete                  RRCReconfigurationComplete-IEs,
        criticalExtensionsFuture                    SEQUENCE {}
    }
}

RRCReconfigurationComplete-IEs ::=          SEQUENCE {
    lateNonCriticalExtension                    OCTET STRING                                                            OPTIONAL,
    nonCriticalExtension                        RRCReconfigurationComplete-v1530-IEs                                    OPTIONAL
}

RRCReconfigurationComplete-v1530-IEs ::=    SEQUENCE {
    uplinkTxDirectCurrentList                   UplinkTxDirectCurrentList                                               OPTIONAL,
    nonCriticalExtension                        RRCReconfigurationComplete-v1560-IEs                                    OPTIONAL
}

RRCReconfigurationComplete-v1560-IEs ::=    SEQUENCE {
    scg-Response                                CHOICE {
        nr-SCG-Response                             OCTET STRING (CONTAINING RRCReconfigurationComplete),
        eutra-SCG-Response                          OCTET STRING
    }                                                                                                                       OPTIONAL,
    nonCriticalExtension                        RRCReconfigurationComplete-v1610-IEs                                    OPTIONAL
}

RRCReconfigurationComplete-v1610-IEs ::=    SEQUENCE {
    ue-MeasurementsAvailable-r16                UE-MeasurementsAvailable-r16                                            OPTIONAL,
    needForGapsInfoNR-r16                       NeedForGapsInfoNR-r16                                                   OPTIONAL,
    nonCriticalExtension                        RRCReconfigurationComplete-v1640-IEs                                    OPTIONAL
}

RRCReconfigurationComplete-v1640-IEs ::=    SEQUENCE {
    uplinkTxDirectCurrentTwoCarrierList-r16     UplinkTxDirectCurrentTwoCarrierList-r16                                 OPTIONAL,
    nonCriticalExtension                        RRCReconfigurationComplete-v1700-IEs                                    OPTIONAL
}

RRCReconfigurationComplete-v1700-IEs ::=    SEQUENCE {
    needForGapNCSG-InfoNR-r17                   NeedForGapNCSG-InfoNR-r17                                               OPTIONAL,
    needForGapNCSG-InfoEUTRA-r17                NeedForGapNCSG-InfoEUTRA-r17                                            OPTIONAL,
    selectedCondRRCReconfig-r17                 CondReconfigId-r16                                                      OPTIONAL,
    nonCriticalExtension                        RRCReconfigurationComplete-v1720-IEs                                    OPTIONAL
}

RRCReconfigurationComplete-v1720-IEs ::=    SEQUENCE {
    uplinkTxDirectCurrentMoreCarrierList-r17    UplinkTxDirectCurrentMoreCarrierList-r17                                OPTIONAL,
    nonCriticalExtension                        SEQUENCE {}                                                             OPTIONAL
}

-- TAG-RRCRECONFIGURATIONCOMPLETE-STOP
-- ASN1STOP

-- ASN1START

-- TAG-RRCREJECT-START

RRCReject ::=                       SEQUENCE {
    criticalExtensions                  CHOICE {
        rrcReject                           RRCReject-IEs,
        criticalExtensionsFuture            SEQUENCE {}
    }
}

RRCReject-IEs ::=                   SEQUENCE {
    waitTime                            RejectWaitTime                                                          OPTIONAL,   -- Need N
    lateNonCriticalExtension            OCTET STRING                                                            OPTIONAL,
    nonCriticalExtension                SEQUENCE{}                                                              OPTIONAL
}

-- TAG-RRCREJECT-STOP
-- ASN1STOP

-- ASN1START

-- TAG-RRCRELEASE-START

RRCRelease ::=                      SEQUENCE {
    rrc-TransactionIdentifier           RRC-TransactionIdentifier,
    criticalExtensions                  CHOICE {
        rrcRelease                          RRCRelease-IEs,
        criticalExtensionsFuture            SEQUENCE {}
    }
}

RRCRelease-IEs ::=                  SEQUENCE {
    redirectedCarrierInfo               RedirectedCarrierInfo                                                       OPTIONAL,   -- Need N
    cellReselectionPriorities           CellReselectionPriorities                                                   OPTIONAL,   -- Need R
    suspendConfig                       SuspendConfig                                                               OPTIONAL,   -- Need R
    deprioritisationReq                 SEQUENCE {
        deprioritisationType                ENUMERATED {frequency, nr},
        deprioritisationTimer               ENUMERATED {min5, min10, min15, min30}
    }                                                                                                               OPTIONAL,   -- Need N
    lateNonCriticalExtension                OCTET STRING                                                        OPTIONAL,
    nonCriticalExtension                    RRCRelease-v1540-IEs                                                OPTIONAL
}

RRCRelease-v1540-IEs ::=            SEQUENCE {
    waitTime                           RejectWaitTime                OPTIONAL, -- Need N
    nonCriticalExtension               RRCRelease-v1610-IEs          OPTIONAL
}

RRCRelease-v1610-IEs ::=            SEQUENCE {
    voiceFallbackIndication-r16        ENUMERATED {true}                             OPTIONAL, -- Need N
    measIdleConfig-r16                 SetupRelease {MeasIdleConfigDedicated-r16}    OPTIONAL, -- Need M
    nonCriticalExtension               RRCRelease-v1650-IEs                          OPTIONAL
}

RRCRelease-v1650-IEs ::=            SEQUENCE {
    mpsPriorityIndication-r16          ENUMERATED {true}                             OPTIONAL, -- Cond Redirection2
    nonCriticalExtension               RRCRelease-v1710-IEs                          OPTIONAL
}

RRCRelease-v1710-IEs ::=            SEQUENCE {
    noLastCellUpdate-r17                ENUMERATED {true}                            OPTIONAL,   -- Need S
    nonCriticalExtension                SEQUENCE {}                                  OPTIONAL
}

RedirectedCarrierInfo ::=           CHOICE {
    nr                                  CarrierInfoNR,
    eutra                               RedirectedCarrierInfo-EUTRA,
    ...
}

RedirectedCarrierInfo-EUTRA ::=     SEQUENCE {
    eutraFrequency                      ARFCN-ValueEUTRA,
    cnType                              ENUMERATED {epc,fiveGC}                                             OPTIONAL    -- Need N
}

CarrierInfoNR ::=                   SEQUENCE {
    carrierFreq                         ARFCN-ValueNR,
    ssbSubcarrierSpacing                SubcarrierSpacing,
    smtc                                SSB-MTC                                                             OPTIONAL,      -- Need S
    ...
}

SuspendConfig ::=                   SEQUENCE {
    fullI-RNTI                          I-RNTI-Value,
    shortI-RNTI                         ShortI-RNTI-Value,
    ran-PagingCycle                     PagingCycle,
    ran-NotificationAreaInfo            RAN-NotificationAreaInfo                                            OPTIONAL,   -- Need M
    t380                                PeriodicRNAU-TimerValue                                             OPTIONAL,   -- Need R
    nextHopChainingCount                NextHopChainingCount,
    ...,
    [[
    sl-UEIdentityRemote-r17             RNTI-Value                                                          OPTIONAL, -- Cond L2RemoteUE
    sdt-Config-r17                      SetupRelease { SDT-Config-r17 }                                     OPTIONAL,   -- Need M
    srs-PosRRC-Inactive-r17             SetupRelease { SRS-PosRRC-Inactive-r17 }                            OPTIONAL,   -- Need M
    ran-ExtendedPagingCycle-r17         ExtendedPagingCycle-r17                                             OPTIONAL    -- Cond RANPaging
    ]],
    [[
    ncd-SSB-RedCapInitialBWP-SDT-r17    SetupRelease {NonCellDefiningSSB-r17}                               OPTIONAL    -- Need M
    ]]
}

PeriodicRNAU-TimerValue ::=         ENUMERATED { min5, min10, min20, min30, min60, min120, min360, min720}

CellReselectionPriorities ::=       SEQUENCE {
    freqPriorityListEUTRA               FreqPriorityListEUTRA                                               OPTIONAL,       -- Need M
    freqPriorityListNR                  FreqPriorityListNR                                                  OPTIONAL,       -- Need M
    t320                                ENUMERATED {min5, min10, min20, min30, min60, min120, min180, spare1} OPTIONAL,     -- Need R
    ...,
    [[
    freqPriorityListDedicatedSlicing-r17 FreqPriorityListDedicatedSlicing-r17                               OPTIONAL        -- Need M
    ]]
}

PagingCycle ::=                     ENUMERATED {rf32, rf64, rf128, rf256}

ExtendedPagingCycle-r17 ::=         ENUMERATED {rf256, rf512, rf1024, spare1}

FreqPriorityListEUTRA ::=           SEQUENCE (SIZE (1..maxFreq)) OF FreqPriorityEUTRA

FreqPriorityListNR ::=              SEQUENCE (SIZE (1..maxFreq)) OF FreqPriorityNR

FreqPriorityEUTRA ::=               SEQUENCE {
    carrierFreq                         ARFCN-ValueEUTRA,
    cellReselectionPriority             CellReselectionPriority,
    cellReselectionSubPriority          CellReselectionSubPriority                                          OPTIONAL        -- Need R
}

FreqPriorityNR ::=                  SEQUENCE {
    carrierFreq                         ARFCN-ValueNR,
    cellReselectionPriority             CellReselectionPriority,
    cellReselectionSubPriority          CellReselectionSubPriority                                          OPTIONAL        -- Need R
}

RAN-NotificationAreaInfo ::=        CHOICE {
    cellList                            PLMN-RAN-AreaCellList,
    ran-AreaConfigList                  PLMN-RAN-AreaConfigList,
    ...
}

PLMN-RAN-AreaCellList ::=           SEQUENCE (SIZE (1..maxPLMNIdentities)) OF PLMN-RAN-AreaCell

PLMN-RAN-AreaCell ::=               SEQUENCE {
    plmn-Identity                       PLMN-Identity                                                       OPTIONAL,   -- Need S
    ran-AreaCells                       SEQUENCE (SIZE (1..32)) OF  CellIdentity
}

PLMN-RAN-AreaConfigList ::=         SEQUENCE (SIZE (1..maxPLMNIdentities)) OF PLMN-RAN-AreaConfig

PLMN-RAN-AreaConfig ::=             SEQUENCE {
    plmn-Identity                       PLMN-Identity                                                       OPTIONAL,   -- Need S
    ran-Area                            SEQUENCE (SIZE (1..16)) OF  RAN-AreaConfig
}

RAN-AreaConfig ::=                  SEQUENCE {
    trackingAreaCode                    TrackingAreaCode,
    ran-AreaCodeList                    SEQUENCE (SIZE (1..32)) OF  RAN-AreaCode                            OPTIONAL    -- Need R
}

SDT-Config-r17 ::=                  SEQUENCE {
    sdt-DRB-List-r17                    SEQUENCE (SIZE (0..maxDRB)) OF DRB-Identity                         OPTIONAL,   -- Need M
    sdt-SRB2-Indication-r17             ENUMERATED {allowed}                                                OPTIONAL,   -- Need R
    sdt-MAC-PHY-CG-Config-r17           SetupRelease {SDT-CG-Config-r17}                                    OPTIONAL,   -- Need M
    sdt-DRB-ContinueROHC-r17            ENUMERATED { cell, rna }                                            OPTIONAL    -- Need S
}

SDT-CG-Config-r17 ::= OCTET STRING (CONTAINING SDT-MAC-PHY-CG-Config-r17)

SDT-MAC-PHY-CG-Config-r17 ::=       SEQUENCE {
    -- CG-SDT specific configuration
    cg-SDT-ConfigLCH-RestrictionToAddModList-r17 SEQUENCE (SIZE(1..maxLC-ID)) OF  CG-SDT-ConfigLCH-Restriction-r17 OPTIONAL,   -- Need N
    cg-SDT-ConfigLCH-RestrictionToReleaseList-r17 SEQUENCE (SIZE(1..maxLC-ID)) OF  LogicalChannelIdentity   OPTIONAL,   -- Need N
    cg-SDT-ConfigInitialBWP-NUL-r17         SetupRelease {BWP-UplinkDedicatedSDT-r17}                       OPTIONAL,   -- Need M
    cg-SDT-ConfigInitialBWP-SUL-r17         SetupRelease {BWP-UplinkDedicatedSDT-r17}                       OPTIONAL,   -- Need M
    cg-SDT-ConfigInitialBWP-DL-r17          BWP-DownlinkDedicatedSDT-r17                                    OPTIONAL,   -- Need M
    cg-SDT-TimeAlignmentTimer-r17           TimeAlignmentTimer                                              OPTIONAL,   -- Need M
    cg-SDT-RSRP-ThresholdSSB-r17            RSRP-Range                                                      OPTIONAL,   -- Need M
    cg-SDT-TA-ValidationConfig-r17          SetupRelease { CG-SDT-TA-ValidationConfig-r17 }                 OPTIONAL,   -- Need M
    cg-SDT-CS-RNTI-r17                      RNTI-Value                                                      OPTIONAL,   -- Need M
    ...
}

CG-SDT-TA-ValidationConfig-r17 ::=  SEQUENCE {
    cg-SDT-RSRP-ChangeThreshold-r17     ENUMERATED { dB2, dB4, dB6, dB8, dB10, dB14, dB18, dB22,
                                            dB26, dB30, dB34, spare5, spare4, spare3, spare2, spare1}
}

BWP-DownlinkDedicatedSDT-r17 ::=    SEQUENCE {
    pdcch-Config-r17                    SetupRelease { PDCCH-Config }                                       OPTIONAL,   -- Need M
    pdsch-Config-r17                    SetupRelease { PDSCH-Config }                                       OPTIONAL,   -- Need M
   ...
}

BWP-UplinkDedicatedSDT-r17 ::=      SEQUENCE {
    pusch-Config-r17                    SetupRelease { PUSCH-Config }                                       OPTIONAL,   -- Need M
    configuredGrantConfigToAddModList-r17                 ConfiguredGrantConfigToAddModList-r16             OPTIONAL,   -- Need N
    configuredGrantConfigToReleaseList-r17                ConfiguredGrantConfigToReleaseList-r16            OPTIONAL,   -- Need N
   ...
}

CG-SDT-ConfigLCH-Restriction-r17 ::= SEQUENCE {
    logicalChannelIdentity-r17          LogicalChannelIdentity,
    configuredGrantType1Allowed-r17     ENUMERATED {true}                                                   OPTIONAL,   -- Need R
    allowedCG-List-r17                  SEQUENCE (SIZE (0.. maxNrofConfiguredGrantConfigMAC-1-r16)) OF ConfiguredGrantConfigIndexMAC-r16
                                                                                                            OPTIONAL    -- Need R
}

SRS-PosRRC-Inactive-r17 ::= OCTET STRING (CONTAINING SRS-PosRRC-InactiveConfig-r17)

SRS-PosRRC-InactiveConfig-r17 ::=       SEQUENCE {
    srs-PosConfigNUL-r17                    SRS-PosConfig-r17                                                   OPTIONAL,    -- Need R
    srs-PosConfigSUL-r17                    SRS-PosConfig-r17                                                   OPTIONAL,    -- Need R
    bwp-NUL-r17                             BWP                                                                 OPTIONAL,    -- Need S
    bwp-SUL-r17                             BWP                                                                 OPTIONAL,    -- Need S
    inactivePosSRS-TimeAlignmentTimer-r17   TimeAlignmentTimer                                                  OPTIONAL,    -- Need M
    inactivePosSRS-RSRP-ChangeThreshold-r17 RSRP-ChangeThreshold-r17                                            OPTIONAL     -- Need M
}

RSRP-ChangeThreshold-r17 ::= ENUMERATED {dB4, dB6, dB8, dB10, dB14, dB18, dB22, dB26, dB30, dB34, spare6, spare5, spare4, spare3, spare2, spare1}

SRS-PosConfig-r17 ::=               SEQUENCE {
    srs-PosResourceSetToReleaseList-r17 SEQUENCE (SIZE(1..maxNrofSRS-PosResourceSets-r16)) OF SRS-PosResourceSetId-r16 OPTIONAL,-- Need N
    srs-PosResourceSetToAddModList-r17  SEQUENCE (SIZE(1..maxNrofSRS-PosResourceSets-r16)) OF SRS-PosResourceSet-r16  OPTIONAL,-- Need N
    srs-PosResourceToReleaseList-r17    SEQUENCE (SIZE(1..maxNrofSRS-PosResources-r16)) OF SRS-PosResourceId-r16      OPTIONAL,-- Need N
    srs-PosResourceToAddModList-r17     SEQUENCE (SIZE(1..maxNrofSRS-PosResources-r16)) OF SRS-PosResource-r16        OPTIONAL -- Need N
}

-- TAG-RRCRELEASE-STOP
-- ASN1STOP

-- ASN1START

-- TAG-RRCRESUME-START

RRCResume ::=                       SEQUENCE {
    rrc-TransactionIdentifier           RRC-TransactionIdentifier,
    criticalExtensions                  CHOICE {
        rrcResume                           RRCResume-IEs,
        criticalExtensionsFuture            SEQUENCE {}
    }
}

RRCResume-IEs ::=                   SEQUENCE {
    radioBearerConfig                   RadioBearerConfig                                               OPTIONAL, -- Need M
    masterCellGroup                     OCTET STRING (CONTAINING CellGroupConfig)                       OPTIONAL, -- Need M
    measConfig                          MeasConfig                                                      OPTIONAL, -- Need M
    fullConfig                          ENUMERATED {true}                                               OPTIONAL, -- Need N
    lateNonCriticalExtension            OCTET STRING                                                    OPTIONAL,
    nonCriticalExtension                RRCResume-v1560-IEs                                             OPTIONAL
}

RRCResume-v1560-IEs ::=             SEQUENCE {
    radioBearerConfig2                  OCTET STRING (CONTAINING RadioBearerConfig)                     OPTIONAL, -- Need M
    sk-Counter                          SK-Counter                                                      OPTIONAL, -- Need N
    nonCriticalExtension                RRCResume-v1610-IEs                                             OPTIONAL
}

RRCResume-v1610-IEs ::=             SEQUENCE {
    idleModeMeasurementReq-r16          ENUMERATED {true}                                               OPTIONAL, -- Need N
    restoreMCG-SCells-r16               ENUMERATED {true}                                               OPTIONAL, -- Need N
    restoreSCG-r16                      ENUMERATED {true}                                               OPTIONAL, -- Need N
    mrdc-SecondaryCellGroup-r16         CHOICE {
        nr-SCG-r16                          OCTET STRING (CONTAINING RRCReconfiguration),
        eutra-SCG-r16                       OCTET STRING
    }                                                                                                   OPTIONAL, -- Cond RestoreSCG
    needForGapsConfigNR-r16             SetupRelease {NeedForGapsConfigNR-r16}                          OPTIONAL, -- Need M
    nonCriticalExtension                RRCResume-v1700-IEs                                             OPTIONAL
}

RRCResume-v1700-IEs ::=             SEQUENCE {
    sl-ConfigDedicatedNR-r17            SetupRelease {SL-ConfigDedicatedNR-r16}                         OPTIONAL, -- Cond L2RemoteUE
    sl-L2RemoteUE-Config-r17            SetupRelease {SL-L2RemoteUE-Config-r17}                         OPTIONAL, -- Cond L2RemoteUE
    needForGapNCSG-ConfigNR-r17         SetupRelease {NeedForGapNCSG-ConfigNR-r17}                      OPTIONAL, -- Need M
    needForGapNCSG-ConfigEUTRA-r17      SetupRelease {NeedForGapNCSG-ConfigEUTRA-r17}                   OPTIONAL, -- Need M
    scg-State-r17                       ENUMERATED {deactivated}                                        OPTIONAL, -- Need N
    appLayerMeasConfig-r17              AppLayerMeasConfig-r17                                          OPTIONAL, -- Need M
    nonCriticalExtension                SEQUENCE {}                                                     OPTIONAL
}

-- TAG-RRCRESUME-STOP
-- ASN1STOP

-- ASN1START

-- TAG-RRCRESUMECOMPLETE-START

RRCResumeComplete ::=                   SEQUENCE {
    rrc-TransactionIdentifier               RRC-TransactionIdentifier,
    criticalExtensions                      CHOICE {
        rrcResumeComplete                       RRCResumeComplete-IEs,
        criticalExtensionsFuture                SEQUENCE {}
    }
}

RRCResumeComplete-IEs ::=               SEQUENCE {
    dedicatedNAS-Message                    DedicatedNAS-Message                                                    OPTIONAL,
    selectedPLMN-Identity                   INTEGER (1..maxPLMN)                                                    OPTIONAL,
    uplinkTxDirectCurrentList               UplinkTxDirectCurrentList                                               OPTIONAL,
    lateNonCriticalExtension                OCTET STRING                                                            OPTIONAL,
    nonCriticalExtension                    RRCResumeComplete-v1610-IEs                                             OPTIONAL
}

RRCResumeComplete-v1610-IEs ::=         SEQUENCE {
    idleMeasAvailable-r16                   ENUMERATED {true}                                                       OPTIONAL,
    measResultIdleEUTRA-r16                 MeasResultIdleEUTRA-r16                                                 OPTIONAL,
    measResultIdleNR-r16                    MeasResultIdleNR-r16                                                    OPTIONAL,
    scg-Response-r16                        CHOICE {
        nr-SCG-Response                         OCTET STRING (CONTAINING RRCReconfigurationComplete),
        eutra-SCG-Response                      OCTET STRING
    }                                                                                                               OPTIONAL,
    ue-MeasurementsAvailable-r16            UE-MeasurementsAvailable-r16                                            OPTIONAL,
    mobilityHistoryAvail-r16                ENUMERATED {true}                                                       OPTIONAL,
    mobilityState-r16                       ENUMERATED {normal, medium, high, spare}                                OPTIONAL,
    needForGapsInfoNR-r16                   NeedForGapsInfoNR-r16                                                   OPTIONAL,
    nonCriticalExtension                    RRCResumeComplete-v1640-IEs                                             OPTIONAL
}

RRCResumeComplete-v1640-IEs ::=         SEQUENCE {
    uplinkTxDirectCurrentTwoCarrierList-r16 UplinkTxDirectCurrentTwoCarrierList-r16                                 OPTIONAL,
    nonCriticalExtension                    RRCResumeComplete-v1700-IEs                                             OPTIONAL
}

RRCResumeComplete-v1700-IEs ::=         SEQUENCE {
    needForGapNCSG-InfoNR-r17               NeedForGapNCSG-InfoNR-r17                                               OPTIONAL,
    needForGapNCSG-InfoEUTRA-r17            NeedForGapNCSG-InfoEUTRA-r17                                            OPTIONAL,
    nonCriticalExtension                    RRCResumeComplete-v1720-IEs                                             OPTIONAL
}

RRCResumeComplete-v1720-IEs ::=         SEQUENCE {
    uplinkTxDirectCurrentMoreCarrierList-r17 UplinkTxDirectCurrentMoreCarrierList-r17                               OPTIONAL,
    nonCriticalExtension                     SEQUENCE {}                                                            OPTIONAL
}

-- TAG-RRCRESUMECOMPLETE-STOP
-- ASN1STOP

-- ASN1START

-- TAG-RRCRESUMEREQUEST-START

RRCResumeRequest ::=            SEQUENCE {
        rrcResumeRequest            RRCResumeRequest-IEs
}

RRCResumeRequest-IEs ::=        SEQUENCE {
    resumeIdentity                  ShortI-RNTI-Value,
    resumeMAC-I                     BIT STRING (SIZE (16)),
    resumeCause                     ResumeCause,
    spare                           BIT STRING (SIZE (1))
}

-- TAG-RRCRESUMEREQUEST-STOP
-- ASN1STOP

-- ASN1START

-- TAG-RRCRESUMEREQUEST1-START

RRCResumeRequest1 ::=         SEQUENCE {
       rrcResumeRequest1          RRCResumeRequest1-IEs
}

RRCResumeRequest1-IEs ::=    SEQUENCE {
    resumeIdentity               I-RNTI-Value,
    resumeMAC-I                  BIT STRING (SIZE (16)),
    resumeCause                  ResumeCause,
    spare                        BIT STRING (SIZE (1))
}

-- TAG-RRCRESUMEREQUEST1-STOP
-- ASN1STOP

-- ASN1START

-- TAG-RRCSETUP-START

RRCSetup ::=                        SEQUENCE {
    rrc-TransactionIdentifier           RRC-TransactionIdentifier,
    criticalExtensions                  CHOICE {
        rrcSetup                            RRCSetup-IEs,
        criticalExtensionsFuture            SEQUENCE {}
    }
}

RRCSetup-IEs ::=                    SEQUENCE {
    radioBearerConfig                   RadioBearerConfig,
    masterCellGroup                     OCTET STRING (CONTAINING CellGroupConfig),
    lateNonCriticalExtension            OCTET STRING                                                            OPTIONAL,
    nonCriticalExtension                RRCSetup-v1700-IEs                                                      OPTIONAL
}

RRCSetup-v1700-IEs ::=              SEQUENCE {
    sl-ConfigDedicatedNR-r17            SL-ConfigDedicatedNR-r16                           OPTIONAL, -- Cond L2RemoteUE
    sl-L2RemoteUE-Config-r17            SL-L2RemoteUE-Config-r17                           OPTIONAL, -- Cond L2RemoteUE
    nonCriticalExtension                SEQUENCE {}                                        OPTIONAL
}

-- TAG-RRCSETUP-STOP
-- ASN1STOP

-- ASN1START

-- TAG-RRCSETUPCOMPLETE-START

RRCSetupComplete ::=                SEQUENCE {
    rrc-TransactionIdentifier           RRC-TransactionIdentifier,
    criticalExtensions                  CHOICE {
        rrcSetupComplete                    RRCSetupComplete-IEs,
        criticalExtensionsFuture            SEQUENCE {}
    }
}

RRCSetupComplete-IEs ::=            SEQUENCE {
    selectedPLMN-Identity               INTEGER (1..maxPLMN),
    registeredAMF                       RegisteredAMF                                   OPTIONAL,
    guami-Type                          ENUMERATED {native, mapped}                     OPTIONAL,
    s-NSSAI-List                        SEQUENCE (SIZE (1..maxNrofS-NSSAI)) OF S-NSSAI  OPTIONAL,
    dedicatedNAS-Message                DedicatedNAS-Message,
    ng-5G-S-TMSI-Value                  CHOICE {
        ng-5G-S-TMSI                        NG-5G-S-TMSI,
        ng-5G-S-TMSI-Part2                  BIT STRING (SIZE (9))
    }                                                                                   OPTIONAL,
    lateNonCriticalExtension            OCTET STRING                                    OPTIONAL,
    nonCriticalExtension                RRCSetupComplete-v1610-IEs                      OPTIONAL
}

RRCSetupComplete-v1610-IEs ::=      SEQUENCE {
    iab-NodeIndication-r16              ENUMERATED {true}                               OPTIONAL,
    idleMeasAvailable-r16               ENUMERATED {true}                               OPTIONAL,
    ue-MeasurementsAvailable-r16        UE-MeasurementsAvailable-r16                    OPTIONAL,
    mobilityHistoryAvail-r16            ENUMERATED {true}                               OPTIONAL,
    mobilityState-r16                   ENUMERATED {normal, medium, high, spare}        OPTIONAL,
    nonCriticalExtension                RRCSetupComplete-v1690-IEs                      OPTIONAL
}

RRCSetupComplete-v1690-IEs ::=      SEQUENCE {
    ul-RRC-Segmentation-r16             ENUMERATED {true}                               OPTIONAL,
    nonCriticalExtension                RRCSetupComplete-v1700-IEs                      OPTIONAL
}

RRCSetupComplete-v1700-IEs ::=      SEQUENCE {
    onboardingRequest-r17               ENUMERATED {true}                               OPTIONAL,
    nonCriticalExtension                SEQUENCE{}                                      OPTIONAL
}

RegisteredAMF ::=                   SEQUENCE {
    plmn-Identity                       PLMN-Identity                                   OPTIONAL,
    amf-Identifier                      AMF-Identifier
}

-- TAG-RRCSETUPCOMPLETE-STOP
-- ASN1STOP

-- ASN1START

-- TAG-RRCSETUPREQUEST-START

RRCSetupRequest ::=                 SEQUENCE {
    rrcSetupRequest                     RRCSetupRequest-IEs
}

RRCSetupRequest-IEs ::=             SEQUENCE {
    ue-Identity                         InitialUE-Identity,
    establishmentCause                  EstablishmentCause,
    spare                               BIT STRING (SIZE (1))
}

InitialUE-Identity ::=              CHOICE {
    ng-5G-S-TMSI-Part1                  BIT STRING (SIZE (39)),
    randomValue                         BIT STRING (SIZE (39))
}

EstablishmentCause ::=              ENUMERATED {
                                        emergency, highPriorityAccess, mt-Access, mo-Signalling,
                                        mo-Data, mo-VoiceCall, mo-VideoCall, mo-SMS, mps-PriorityAccess, mcs-PriorityAccess,
                                        spare6, spare5, spare4, spare3, spare2, spare1}

-- TAG-RRCSETUPREQUEST-STOP
-- ASN1STOP

-- ASN1START

-- TAG-RRCSYSTEMINFOREQUEST-START

RRCSystemInfoRequest ::=            SEQUENCE {
    criticalExtensions                  CHOICE {
        rrcSystemInfoRequest                RRCSystemInfoRequest-IEs,
        criticalExtensionsFuture-r16        CHOICE {
            rrcPosSystemInfoRequest-r16         RRC-PosSystemInfoRequest-r16-IEs,
            criticalExtensionsFuture            SEQUENCE {}
        }
    }
}

RRCSystemInfoRequest-IEs ::=    SEQUENCE {
    requested-SI-List                   BIT STRING (SIZE (maxSI-Message)),  --32bits
    spare                               BIT STRING (SIZE (12))
}

RRC-PosSystemInfoRequest-r16-IEs ::=  SEQUENCE {
    requestedPosSI-List                   BIT STRING (SIZE (maxSI-Message)),  --32bits
    spare                                 BIT STRING (SIZE (11))
}

-- TAG-RRCSYSTEMINFOREQUEST-STOP
-- ASN1STOP

-- ASN1START

-- TAG-SCGFAILUREINFORMATION-START

SCGFailureInformation ::=                   SEQUENCE {
    criticalExtensions                           CHOICE {
        scgFailureInformation                        SCGFailureInformation-IEs,
        criticalExtensionsFuture                    SEQUENCE {}
    }
}

SCGFailureInformation-IEs ::=            SEQUENCE {
    failureReportSCG                         FailureReportSCG                    OPTIONAL,
    nonCriticalExtension                     SCGFailureInformation-v1590-IEs     OPTIONAL
}

SCGFailureInformation-v1590-IEs ::=       SEQUENCE {
    lateNonCriticalExtension                OCTET STRING                        OPTIONAL,
    nonCriticalExtension                    SEQUENCE {}                         OPTIONAL
}

FailureReportSCG ::=                       SEQUENCE {
    failureType                                    ENUMERATED {
                                                               t310-Expiry, randomAccessProblem,
                                                               rlc-MaxNumRetx,
                                                               synchReconfigFailureSCG, scg-ReconfigFailure,
                                                               srb3-IntegrityFailure, other-r16, spare1},
    measResultFreqList                          MeasResultFreqList                                                      OPTIONAL,
    measResultSCG-Failure                      OCTET STRING (CONTAINING MeasResultSCG-Failure)                OPTIONAL,
    ...,
    [[
    locationInfo-r16                            LocationInfo-r16            OPTIONAL,
   failureType-v1610                        ENUMERATED {scg-lbtFailure-r16, beamFailureRecoveryFailure-r16,
                                                        t312-Expiry-r16, bh-RLF-r16, beamFailure-r17, spare3, spare2, spare1} OPTIONAL
    ]],
    [[
    previousPSCellId-r17               SEQUENCE {
        physCellId-r17                     PhysCellId,
        carrierFreq-r17                    ARFCN-ValueNR
    }                                                           OPTIONAL,
    failedPSCellId-r17                 SEQUENCE {
        physCellId-r17                     PhysCellId,
        carrierFreq-r17                    ARFCN-ValueNR
     }                                                          OPTIONAL,
    timeSCGFailure-r17                 INTEGER (0..1023)        OPTIONAL,
    perRAInfoList-r17                  PerRAInfoList-r16          OPTIONAL
    ]]
}

MeasResultFreqList ::=                   SEQUENCE (SIZE (1..maxFreq)) OF MeasResult2NR


-- TAG-SCGFAILUREINFORMATION-STOP
-- ASN1STOP

-- ASN1START

-- TAG-SCGFAILUREINFORMATIONEUTRA-START

SCGFailureInformationEUTRA ::=                SEQUENCE {
    criticalExtensions                                CHOICE {
        scgFailureInformationEUTRA                       SCGFailureInformationEUTRA-IEs,
        criticalExtensionsFuture                          SEQUENCE {}
    }
}

SCGFailureInformationEUTRA-IEs ::=           SEQUENCE {
    failureReportSCG-EUTRA                           FailureReportSCG-EUTRA                      OPTIONAL,
    nonCriticalExtension                              SCGFailureInformationEUTRA-v1590-IEs                                    OPTIONAL
}

SCGFailureInformationEUTRA-v1590-IEs ::=  SEQUENCE {
    lateNonCriticalExtension                  OCTET STRING            OPTIONAL,
    nonCriticalExtension                               SEQUENCE {}                  OPTIONAL
}

FailureReportSCG-EUTRA ::=                       SEQUENCE {
    failureType                                           ENUMERATED {
                                                                       t313-Expiry, randomAccessProblem,rlc-MaxNumRetx,
                                                                          scg-ChangeFailure, spare4,
                                                                          spare3, spare2, spare1},
    measResultFreqListMRDC                             MeasResultFreqListFailMRDC                                                   OPTIONAL,
    measResultSCG-FailureMRDC                         OCTET STRING                                                         OPTIONAL,
    ...,
    [[
    locationInfo-r16                                    LocationInfo-r16                                                         OPTIONAL
    ]]
}

MeasResultFreqListFailMRDC ::=      SEQUENCE (SIZE (1.. maxFreq)) OF MeasResult2EUTRA

-- TAG-SCGFAILUREINFORMATIONEUTRA-STOP
-- ASN1STOP

-- ASN1START

-- TAG-SECURITYMODECOMMAND-START

SecurityModeCommand ::=             SEQUENCE {
    rrc-TransactionIdentifier           RRC-TransactionIdentifier,
    criticalExtensions                  CHOICE {
        securityModeCommand                 SecurityModeCommand-IEs,
        criticalExtensionsFuture            SEQUENCE {}
    }
}

SecurityModeCommand-IEs ::=         SEQUENCE {
    securityConfigSMC                   SecurityConfigSMC,

    lateNonCriticalExtension            OCTET STRING                                                            OPTIONAL,
    nonCriticalExtension                SEQUENCE{}                                                              OPTIONAL
}

SecurityConfigSMC ::=               SEQUENCE {
    securityAlgorithmConfig             SecurityAlgorithmConfig,
    ...
}

-- TAG-SECURITYMODECOMMAND-STOP
-- ASN1STOP

-- ASN1START

-- TAG-SECURITYMODECOMPLETE-START

SecurityModeComplete ::=            SEQUENCE {
    rrc-TransactionIdentifier           RRC-TransactionIdentifier,
    criticalExtensions                  CHOICE {
        securityModeComplete                SecurityModeComplete-IEs,
        criticalExtensionsFuture            SEQUENCE {}
    }
}

SecurityModeComplete-IEs ::=        SEQUENCE {
    lateNonCriticalExtension            OCTET STRING                                                            OPTIONAL,
    nonCriticalExtension                SEQUENCE{}                                                              OPTIONAL
}

-- TAG-SECURITYMODECOMPLETE-STOP
-- ASN1STOP

-- ASN1START

-- TAG-SECURITYMODEFAILURE-START

SecurityModeFailure ::=             SEQUENCE {
    rrc-TransactionIdentifier           RRC-TransactionIdentifier,
    criticalExtensions                  CHOICE {
        securityModeFailure                 SecurityModeFailure-IEs,
        criticalExtensionsFuture            SEQUENCE {}
    }
}

SecurityModeFailure-IEs ::=         SEQUENCE {
    lateNonCriticalExtension            OCTET STRING                                                            OPTIONAL,
    nonCriticalExtension                SEQUENCE{}                                                              OPTIONAL
}

-- TAG-SECURITYMODEFAILURE-STOP
-- ASN1STOP

-- ASN1START

-- TAG-SIB1-START

SIB1 ::=        SEQUENCE {
    cellSelectionInfo                   SEQUENCE {
        q-RxLevMin                          Q-RxLevMin,
        q-RxLevMinOffset                    INTEGER (1..8)                                              OPTIONAL,   -- Need S
        q-RxLevMinSUL                       Q-RxLevMin                                                  OPTIONAL,   -- Need R
        q-QualMin                           Q-QualMin                                                   OPTIONAL,   -- Need S
        q-QualMinOffset                     INTEGER (1..8)                                              OPTIONAL    -- Need S
    }                                                                                                   OPTIONAL,   -- Cond Standalone
    cellAccessRelatedInfo               CellAccessRelatedInfo,
    connEstFailureControl               ConnEstFailureControl                                           OPTIONAL,   -- Need R
    si-SchedulingInfo                   SI-SchedulingInfo                                               OPTIONAL,   -- Need R
    servingCellConfigCommon             ServingCellConfigCommonSIB                                      OPTIONAL,   -- Need R
    ims-EmergencySupport                ENUMERATED {true}                                               OPTIONAL,   -- Need R
    eCallOverIMS-Support                ENUMERATED {true}                                               OPTIONAL,   -- Need R
    ue-TimersAndConstants               UE-TimersAndConstants                                           OPTIONAL,   -- Need R
    uac-BarringInfo                     SEQUENCE {
        uac-BarringForCommon                UAC-BarringPerCatList                                           OPTIONAL,   -- Need S
        uac-BarringPerPLMN-List             UAC-BarringPerPLMN-List                                         OPTIONAL,   -- Need S
        uac-BarringInfoSetList              UAC-BarringInfoSetList,
        uac-AccessCategory1-SelectionAssistanceInfo CHOICE {
            plmnCommon                           UAC-AccessCategory1-SelectionAssistanceInfo,
            individualPLMNList                   SEQUENCE (SIZE (2..maxPLMN)) OF UAC-AccessCategory1-SelectionAssistanceInfo
        }                                                                                                   OPTIONAL    -- Need S
    }                                                                                                   OPTIONAL,   -- Need R
    useFullResumeID                     ENUMERATED {true}                                               OPTIONAL,   -- Need R
    lateNonCriticalExtension            OCTET STRING                                                    OPTIONAL,
    nonCriticalExtension                SIB1-v1610-IEs                                                  OPTIONAL
}

SIB1-v1610-IEs ::=               SEQUENCE {
    idleModeMeasurementsEUTRA-r16    ENUMERATED{true}                                                   OPTIONAL,  -- Need R
    idleModeMeasurementsNR-r16       ENUMERATED{true}                                                   OPTIONAL,  -- Need R
    posSI-SchedulingInfo-r16         PosSI-SchedulingInfo-r16                                           OPTIONAL,  -- Need R
    nonCriticalExtension             SIB1-v1630-IEs                                                     OPTIONAL
}

SIB1-v1630-IEs ::=               SEQUENCE {
    uac-BarringInfo-v1630            SEQUENCE {
        uac-AC1-SelectAssistInfo-r16     SEQUENCE (SIZE (2..maxPLMN)) OF UAC-AC1-SelectAssistInfo-r16
    }                                                                                                   OPTIONAL,  -- Need R
    nonCriticalExtension             SIB1-v1700-IEs                                                     OPTIONAL
}

SIB1-v1700-IEs ::=               SEQUENCE {
    hsdn-Cell-r17                        ENUMERATED {true}                                              OPTIONAL,  -- Need R
    uac-BarringInfo-v1700                SEQUENCE {
        uac-BarringInfoSetList-v1700         UAC-BarringInfoSetList-v1700
    }                                                                                                   OPTIONAL,  -- Cond MINT
    sdt-ConfigCommon-r17                 SDT-ConfigCommonSIB-r17                                        OPTIONAL,  -- Need R
    redCap-ConfigCommon-r17              RedCap-ConfigCommonSIB-r17                                     OPTIONAL,  -- Need R
    featurePriorities-r17        SEQUENCE {
        redCapPriority-r17           FeaturePriority-r17                                                OPTIONAL,  -- Need R
        slicingPriority-r17          FeaturePriority-r17                                                OPTIONAL,  -- Need R
        msg3-Repetitions-Priority-r17 FeaturePriority-r17                                               OPTIONAL,  -- Need R
        sdt-Priority-r17             FeaturePriority-r17                                                OPTIONAL   -- Need R
    }                                                                                                   OPTIONAL,  -- Need R
    si-SchedulingInfo-v1700      SI-SchedulingInfo-v1700                                                OPTIONAL,  -- Need R
    hyperSFN-r17                 BIT STRING (SIZE (10))                                                 OPTIONAL,  -- Need R
    eDRX-AllowedIdle-r17         ENUMERATED {true}                                                      OPTIONAL,  -- Need R
    eDRX-AllowedInactive-r17     ENUMERATED {true}                                                      OPTIONAL,  -- Cond EDRX-RC
    intraFreqReselectionRedCap-r17 ENUMERATED {allowed, notAllowed}                                     OPTIONAL,  -- Need S
    cellBarredNTN-r17            ENUMERATED {barred, notBarred}                                         OPTIONAL,  -- Need S
    nonCriticalExtension         SIB1-v1740-IEs                                                         OPTIONAL
}

SIB1-v1740-IEs ::=               SEQUENCE {
    si-SchedulingInfo-v1740          SI-SchedulingInfo-v1740                                            OPTIONAL,  -- Need R
    nonCriticalExtension             SEQUENCE {}                                                        OPTIONAL
}

UAC-AccessCategory1-SelectionAssistanceInfo ::=    ENUMERATED {a, b, c}

UAC-AC1-SelectAssistInfo-r16 ::=     ENUMERATED {a, b, c, notConfigured}

SDT-ConfigCommonSIB-r17 ::=          SEQUENCE {
    sdt-RSRP-Threshold-r17               RSRP-Range                                                            OPTIONAL, -- Need R
    sdt-LogicalChannelSR-DelayTimer-r17  ENUMERATED { sf20, sf40, sf64, sf128, sf512, sf1024, sf2560, spare1}  OPTIONAL, -- Need R
    sdt-DataVolumeThreshold-r17          ENUMERATED {byte32, byte100, byte200, byte400, byte600, byte800, byte1000, byte2000, byte4000,
                                                     byte8000, byte9000, byte10000, byte12000, byte24000, byte48000, byte96000},
    t319a-r17                            ENUMERATED { ms100, ms200, ms300, ms400, ms600, ms1000, ms2000,
                                                      ms3000, ms4000, spare7, spare6, spare5, spare4, spare3, spare2, spare1}
}

RedCap-ConfigCommonSIB-r17 ::= SEQUENCE {
    halfDuplexRedCapAllowed-r17    ENUMERATED {true}                                                    OPTIONAL,  -- Need R
    cellBarredRedCap-r17           SEQUENCE {
        cellBarredRedCap1Rx-r17        ENUMERATED {barred, notBarred},
        cellBarredRedCap2Rx-r17        ENUMERATED {barred, notBarred}
    }                                                                                                   OPTIONAL,  -- Need R
    ...
}

FeaturePriority-r17 ::= INTEGER (0..7)

-- TAG-SIB1-STOP
-- ASN1STOP

-- ASN1START

-- TAG-SIDELINKUEINFORMATIONNR-START

SidelinkUEInformationNR-r16 ::=         SEQUENCE {
    criticalExtensions                  CHOICE {
        sidelinkUEInformationNR-r16         SidelinkUEInformationNR-r16-IEs,
        criticalExtensionsFuture            SEQUENCE {}
    }
}

SidelinkUEInformationNR-r16-IEs ::=    SEQUENCE {
    sl-RxInterestedFreqList-r16            SL-InterestedFreqList-r16           OPTIONAL,
    sl-TxResourceReqList-r16               SL-TxResourceReqList-r16            OPTIONAL,
    sl-FailureList-r16                     SL-FailureList-r16                  OPTIONAL,
    lateNonCriticalExtension               OCTET STRING                        OPTIONAL,
    nonCriticalExtension                   SidelinkUEInformationNR-v1700-IEs   OPTIONAL
}

SidelinkUEInformationNR-v1700-IEs ::=  SEQUENCE {
    sl-TxResourceReqList-v1700             SL-TxResourceReqList-v1700                                                 OPTIONAL,
    sl-RxDRX-ReportList-v1700              SL-RxDRX-ReportList-v1700                                                  OPTIONAL,
    sl-RxInterestedGC-BC-DestList-r17      SL-RxInterestedGC-BC-DestList-r17                                          OPTIONAL,
    sl-RxInterestedFreqListDisc-r17        SL-InterestedFreqList-r16                                                  OPTIONAL,
    sl-TxResourceReqListDisc-r17           SL-TxResourceReqListDisc-r17                                               OPTIONAL,
    sl-TxResourceReqListCommRelay-r17      SL-TxResourceReqListCommRelay-r17                                          OPTIONAL,
    ue-Type-r17                            ENUMERATED {relayUE, remoteUE}                                             OPTIONAL,
    sl-SourceIdentityRemoteUE-r17          SL-SourceIdentity-r17                                                      OPTIONAL,
    nonCriticalExtension                   SEQUENCE {}                                                                OPTIONAL
}

SL-InterestedFreqList-r16 ::=          SEQUENCE (SIZE (1..maxNrofFreqSL-r16)) OF INTEGER (1..maxNrofFreqSL-r16)

SL-TxResourceReqList-r16 ::=           SEQUENCE (SIZE (1..maxNrofSL-Dest-r16)) OF SL-TxResourceReq-r16

SL-TxResourceReq-r16 ::=               SEQUENCE {
    sl-DestinationIdentity-r16             SL-DestinationIdentity-r16,
    sl-CastType-r16                        ENUMERATED {broadcast, groupcast, unicast, spare1},
    sl-RLC-ModeIndicationList-r16          SEQUENCE (SIZE (1.. maxNrofSLRB-r16)) OF SL-RLC-ModeIndication-r16         OPTIONAL,
    sl-QoS-InfoList-r16                    SEQUENCE (SIZE (1..maxNrofSL-QFIsPerDest-r16)) OF SL-QoS-Info-r16          OPTIONAL,
    sl-TypeTxSyncList-r16                  SEQUENCE (SIZE (1..maxNrofFreqSL-r16)) OF SL-TypeTxSync-r16                OPTIONAL,
    sl-TxInterestedFreqList-r16            SL-TxInterestedFreqList-r16                                                OPTIONAL,
    sl-CapabilityInformationSidelink-r16   OCTET STRING                                                               OPTIONAL
}

SL-TxResourceReqList-v1700 ::=         SEQUENCE (SIZE (1..maxNrofSL-Dest-r16)) OF SL-TxResourceReq-v1700

SL-RxDRX-ReportList-v1700 ::=          SEQUENCE (SIZE (1..maxNrofSL-Dest-r16)) OF SL-RxDRX-Report-v1700

SL-TxResourceReq-v1700 ::=             SEQUENCE {
    sl-DRX-InfoFromRxList-r17              SEQUENCE (SIZE (1..maxNrofSL-RxInfoSet-r17)) OF SL-DRX-ConfigUC-SemiStatic-r17   OPTIONAL,
    sl-DRX-Indication-r17                  ENUMERATED {on, off}                                                             OPTIONAL,
    ...
}

SL-RxDRX-Report-v1700 ::=              SEQUENCE {
    sl-DRX-ConfigFromTx-r17                SL-DRX-ConfigUC-SemiStatic-r17,
    ...}

SL-RxInterestedGC-BC-DestList-r17 ::=  SEQUENCE (SIZE (1..maxNrofSL-Dest-r16)) OF SL-RxInterestedGC-BC-Dest-r17

SL-RxInterestedGC-BC-Dest-r17 ::=      SEQUENCE {
    sl-RxInterestedQoS-InfoList-r17        SEQUENCE (SIZE (1..maxNrofSL-QFIsPerDest-r16)) OF SL-QoS-Info-r16,
    sl-DestinationIdentity-r16             SL-DestinationIdentity-r16
}

SL-TxResourceReqListDisc-r17 ::=       SEQUENCE (SIZE (1..maxNrofSL-Dest-r16)) OF SL-TxResourceReqDisc-r17

SL-TxResourceReqDisc-r17 ::=           SEQUENCE {
    sl-DestinationIdentityDisc-r17         SL-DestinationIdentity-r16,
    sl-SourceIdentityRelayUE-r17           SL-SourceIdentity-r17                                                      OPTIONAL,
    sl-CastTypeDisc-r17                    ENUMERATED {broadcast, groupcast, unicast, spare1},
    sl-TxInterestedFreqListDisc-r17        SL-TxInterestedFreqList-r16,
    sl-TypeTxSyncListDisc-r17              SEQUENCE (SIZE (1..maxNrofFreqSL-r16)) OF SL-TypeTxSync-r16,
    sl-DiscoveryType-r17                   ENUMERATED {relay, non-Relay},
    ...
}

SL-TxResourceReqListCommRelay-r17 ::=  SEQUENCE (SIZE (1..maxNrofSL-Dest-r16)) OF SL-TxResourceReqCommRelayInfo-r17

SL-TxResourceReqCommRelayInfo-r17 ::=  SEQUENCE {
    sl-RelayDRXConfig-r17                 SL-TxResourceReq-v1700                                                       OPTIONAL,
    sl-TxResourceReqCommRelay-r17         SL-TxResourceReqCommRelay-r17
}

SL-TxResourceReqCommRelay-r17 ::=      CHOICE {
    sl-TxResourceReqL2U2N-Relay-r17        SL-TxResourceReqL2U2N-Relay-r17,
    sl-TxResourceReqL3U2N-Relay-r17        SL-TxResourceReq-r16
}

SL-TxResourceReqL2U2N-Relay-r17 ::=    SEQUENCE {
    sl-DestinationIdentityL2U2N-r17        SL-DestinationIdentity-r16                                                 OPTIONAL,
    sl-TxInterestedFreqListL2U2N-r17       SL-TxInterestedFreqList-r16,
    sl-TypeTxSyncListL2U2N-r17             SEQUENCE (SIZE (1..maxNrofFreqSL-r16)) OF SL-TypeTxSync-r16,
    sl-LocalID-Request-r17                 ENUMERATED {true}                                                          OPTIONAL,
    sl-PagingIdentityRemoteUE-r17          SL-PagingIdentityRemoteUE-r17                                              OPTIONAL,
    sl-CapabilityInformationSidelink-r17   OCTET STRING                                                               OPTIONAL,
    ...
}

SL-TxInterestedFreqList-r16 ::=        SEQUENCE (SIZE (1..maxNrofFreqSL-r16)) OF INTEGER (1..maxNrofFreqSL-r16)

SL-QoS-Info-r16 ::=                    SEQUENCE {
    sl-QoS-FlowIdentity-r16               SL-QoS-FlowIdentity-r16,
    sl-QoS-Profile-r16                    SL-QoS-Profile-r16                                                          OPTIONAL
}

SL-RLC-ModeIndication-r16 ::=          SEQUENCE {
    sl-Mode-r16                            CHOICE  {
        sl-AM-Mode-r16                         NULL,
        sl-UM-Mode-r16                         NULL
    },
    sl-QoS-InfoList-r16                SEQUENCE (SIZE (1..maxNrofSL-QFIsPerDest-r16)) OF SL-QoS-Info-r16
}

SL-FailureList-r16 ::=                 SEQUENCE (SIZE (1..maxNrofSL-Dest-r16)) OF SL-Failure-r16

SL-Failure-r16 ::=                     SEQUENCE {
    sl-DestinationIdentity-r16             SL-DestinationIdentity-r16,
    sl-Failure-r16                         ENUMERATED {rlf,configFailure, drxReject-v1710, spare5, spare4, spare3, spare2, spare1}
}

-- TAG-SIDELINKUEINFORMATIONNR-STOP
-- ASN1STOP

-- ASN1START

-- TAG-SYSTEMINFORMATION-START

SystemInformation ::=               SEQUENCE {
    criticalExtensions                  CHOICE {
        systemInformation                   SystemInformation-IEs,
        criticalExtensionsFuture-r16    CHOICE {
            posSystemInformation-r16        PosSystemInformation-r16-IEs,
            criticalExtensionsFuture        SEQUENCE {}
        }
    }
}

SystemInformation-IEs ::=           SEQUENCE {
    sib-TypeAndInfo                     SEQUENCE (SIZE (1..maxSIB)) OF CHOICE {
        sib2                                SIB2,
        sib3                                SIB3,
        sib4                                SIB4,
        sib5                                SIB5,
        sib6                                SIB6,
        sib7                                SIB7,
        sib8                                SIB8,
        sib9                                SIB9,
        ...,
        sib10-v1610                         SIB10-r16,
        sib11-v1610                         SIB11-r16,
        sib12-v1610                         SIB12-r16,
        sib13-v1610                         SIB13-r16,
        sib14-v1610                         SIB14-r16,
        sib15-v1700                         SIB15-r17,
        sib16-v1700                         SIB16-r17,
        sib17-v1700                         SIB17-r17,
        sib18-v1700                         SIB18-r17,
        sib19-v1700                         SIB19-r17,
        sib20-v1700                         SIB20-r17,
        sib21-v1700                         SIB21-r17
    },
    lateNonCriticalExtension            OCTET STRING                        OPTIONAL,
    nonCriticalExtension                SEQUENCE {}                         OPTIONAL
}

-- TAG-SYSTEMINFORMATION-STOP
-- ASN1STOP

-- ASN1START

-- TAG-UEASSISTANCEINFORMATION-START

UEAssistanceInformation ::=         SEQUENCE {
    criticalExtensions                  CHOICE {
        ueAssistanceInformation             UEAssistanceInformation-IEs,
        criticalExtensionsFuture            SEQUENCE {}
    }
}

UEAssistanceInformation-IEs ::=     SEQUENCE {
    delayBudgetReport                   DelayBudgetReport                   OPTIONAL,
    lateNonCriticalExtension            OCTET STRING                        OPTIONAL,
    nonCriticalExtension                UEAssistanceInformation-v1540-IEs   OPTIONAL
}

DelayBudgetReport ::=               CHOICE {
    type1                               ENUMERATED {
                                            msMinus1280, msMinus640, msMinus320, msMinus160,msMinus80, msMinus60, msMinus40,
                                            msMinus20, ms0, ms20,ms40, ms60, ms80, ms160, ms320, ms640, ms1280},
    ...
}

UEAssistanceInformation-v1540-IEs ::= SEQUENCE {
    overheatingAssistance               OverheatingAssistance               OPTIONAL,
    nonCriticalExtension                UEAssistanceInformation-v1610-IEs   OPTIONAL
}

OverheatingAssistance ::=           SEQUENCE {
    reducedMaxCCs                       ReducedMaxCCs-r16                   OPTIONAL,
    reducedMaxBW-FR1                    ReducedMaxBW-FRx-r16                OPTIONAL,
    reducedMaxBW-FR2                    ReducedMaxBW-FRx-r16                OPTIONAL,
    reducedMaxMIMO-LayersFR1            SEQUENCE {
        reducedMIMO-LayersFR1-DL            MIMO-LayersDL,
        reducedMIMO-LayersFR1-UL            MIMO-LayersUL
    } OPTIONAL,
    reducedMaxMIMO-LayersFR2            SEQUENCE {
        reducedMIMO-LayersFR2-DL            MIMO-LayersDL,
        reducedMIMO-LayersFR2-UL            MIMO-LayersUL
    } OPTIONAL
}
OverheatingAssistance-r17 ::=       SEQUENCE {
    reducedMaxBW-FR2-2-r17              SEQUENCE {
        reducedBW-FR2-2-DL-r17              ReducedAggregatedBandwidth-r17,
        reducedBW-FR2-2-UL-r17              ReducedAggregatedBandwidth-r17
    } OPTIONAL,
    reducedMaxMIMO-LayersFR2-2          SEQUENCE {
        reducedMIMO-LayersFR2-2-DL          MIMO-LayersDL,
        reducedMIMO-LayersFR2-2-UL          MIMO-LayersUL
    } OPTIONAL
}

ReducedAggregatedBandwidth ::= ENUMERATED {mhz0, mhz10, mhz20, mhz30, mhz40, mhz50, mhz60, mhz80, mhz100, mhz200, mhz300, mhz400}

ReducedAggregatedBandwidth-r17 ::= ENUMERATED {mhz0, mhz100, mhz200, mhz400, mhz800, mhz1200, mhz1600, mhz2000}

UEAssistanceInformation-v1610-IEs ::= SEQUENCE {
    idc-Assistance-r16                  IDC-Assistance-r16                  OPTIONAL,
    drx-Preference-r16                  DRX-Preference-r16                  OPTIONAL,
    maxBW-Preference-r16                MaxBW-Preference-r16                OPTIONAL,
    maxCC-Preference-r16                MaxCC-Preference-r16                OPTIONAL,
    maxMIMO-LayerPreference-r16         MaxMIMO-LayerPreference-r16         OPTIONAL,
    minSchedulingOffsetPreference-r16   MinSchedulingOffsetPreference-r16   OPTIONAL,
    releasePreference-r16               ReleasePreference-r16               OPTIONAL,
    sl-UE-AssistanceInformationNR-r16   SL-UE-AssistanceInformationNR-r16   OPTIONAL,
    referenceTimeInfoPreference-r16     BOOLEAN                             OPTIONAL,
    nonCriticalExtension                UEAssistanceInformation-v1700-IEs   OPTIONAL
}

UEAssistanceInformation-v1700-IEs ::= SEQUENCE {
    ul-GapFR2-Preference-r17              UL-GapFR2-Preference-r17              OPTIONAL,
    musim-Assistance-r17                  MUSIM-Assistance-r17                  OPTIONAL,
    overheatingAssistance-r17             OverheatingAssistance-r17             OPTIONAL,
    maxBW-PreferenceFR2-2-r17             MaxBW-PreferenceFR2-2-r17             OPTIONAL,
    maxMIMO-LayerPreferenceFR2-2-r17      MaxMIMO-LayerPreferenceFR2-2-r17      OPTIONAL,
    minSchedulingOffsetPreferenceExt-r17  MinSchedulingOffsetPreferenceExt-r17  OPTIONAL,
    rlm-MeasRelaxationState-r17           BOOLEAN                               OPTIONAL,
    bfd-MeasRelaxationState-r17           BIT STRING (SIZE (1..maxNrofServingCells)) OPTIONAL,
    nonSDT-DataIndication-r17             SEQUENCE {
        resumeCause-r17                       ResumeCause                       OPTIONAL
    }                                                                           OPTIONAL,
    scg-DeactivationPreference-r17        ENUMERATED { scgDeactivationPreferred, noPreference }    OPTIONAL,
    uplinkData-r17                        ENUMERATED { true }                   OPTIONAL,
    rrm-MeasRelaxationFulfilment-r17      BOOLEAN                               OPTIONAL,
    propagationDelayDifference-r17        PropagationDelayDifference-r17        OPTIONAL,
    nonCriticalExtension                  SEQUENCE {}                           OPTIONAL
}

IDC-Assistance-r16 ::=                  SEQUENCE {
    affectedCarrierFreqList-r16             AffectedCarrierFreqList-r16               OPTIONAL,
    affectedCarrierFreqCombList-r16         AffectedCarrierFreqCombList-r16           OPTIONAL,
    ...
}

AffectedCarrierFreqList-r16 ::= SEQUENCE (SIZE (1.. maxFreqIDC-r16)) OF AffectedCarrierFreq-r16

AffectedCarrierFreq-r16 ::=     SEQUENCE {
    carrierFreq-r16                 ARFCN-ValueNR,
    interferenceDirection-r16       ENUMERATED {nr, other, both, spare}
}

AffectedCarrierFreqCombList-r16 ::= SEQUENCE (SIZE (1..maxCombIDC-r16)) OF AffectedCarrierFreqComb-r16

AffectedCarrierFreqComb-r16 ::=     SEQUENCE {
    affectedCarrierFreqComb-r16         SEQUENCE (SIZE (2..maxNrofServingCells)) OF  ARFCN-ValueNR    OPTIONAL,
    victimSystemType-r16                VictimSystemType-r16
}

VictimSystemType-r16 ::=    SEQUENCE {
    gps-r16                     ENUMERATED {true}        OPTIONAL,
    glonass-r16                 ENUMERATED {true}        OPTIONAL,
    bds-r16                     ENUMERATED {true}        OPTIONAL,
    galileo-r16                 ENUMERATED {true}        OPTIONAL,
    navIC-r16                   ENUMERATED {true}        OPTIONAL,
    wlan-r16                    ENUMERATED {true}        OPTIONAL,
    bluetooth-r16               ENUMERATED {true}        OPTIONAL,
    ...
}

DRX-Preference-r16 ::=              SEQUENCE {
    preferredDRX-InactivityTimer-r16    ENUMERATED {
                                            ms0, ms1, ms2, ms3, ms4, ms5, ms6, ms8, ms10, ms20, ms30, ms40, ms50, ms60, ms80,
                                            ms100, ms200, ms300, ms500, ms750, ms1280, ms1920, ms2560, spare9, spare8,
                                            spare7, spare6, spare5, spare4, spare3, spare2, spare1} OPTIONAL,
    preferredDRX-LongCycle-r16          ENUMERATED {
                                            ms10, ms20, ms32, ms40, ms60, ms64, ms70, ms80, ms128, ms160, ms256, ms320, ms512,
                                            ms640, ms1024, ms1280, ms2048, ms2560, ms5120, ms10240, spare12, spare11, spare10,
                                            spare9, spare8, spare7, spare6, spare5, spare4, spare3, spare2, spare1 } OPTIONAL,
    preferredDRX-ShortCycle-r16         ENUMERATED {
                                            ms2, ms3, ms4, ms5, ms6, ms7, ms8, ms10, ms14, ms16, ms20, ms30, ms32,
                                            ms35, ms40, ms64, ms80, ms128, ms160, ms256, ms320, ms512, ms640, spare9,
                                            spare8, spare7, spare6, spare5, spare4, spare3, spare2, spare1 } OPTIONAL,
    preferredDRX-ShortCycleTimer-r16    INTEGER (1..16)    OPTIONAL
}

MaxBW-Preference-r16 ::=            SEQUENCE {
    reducedMaxBW-FR1-r16                ReducedMaxBW-FRx-r16                     OPTIONAL,
    reducedMaxBW-FR2-r16                ReducedMaxBW-FRx-r16                     OPTIONAL
}

MaxBW-PreferenceFR2-2-r17 ::=       SEQUENCE {
    reducedMaxBW-FR2-2-r17              SEQUENCE {
        reducedBW-FR2-2-DL-r17              ReducedAggregatedBandwidth-r17       OPTIONAL,
        reducedBW-FR2-2-UL-r17              ReducedAggregatedBandwidth-r17       OPTIONAL
    } OPTIONAL
}

MaxCC-Preference-r16 ::=            SEQUENCE {
    reducedMaxCCs-r16                   ReducedMaxCCs-r16                        OPTIONAL
}

MaxMIMO-LayerPreference-r16 ::=     SEQUENCE {
    reducedMaxMIMO-LayersFR1-r16        SEQUENCE {
        reducedMIMO-LayersFR1-DL-r16        INTEGER (1..8),
        reducedMIMO-LayersFR1-UL-r16        INTEGER (1..4)
    } OPTIONAL,
    reducedMaxMIMO-LayersFR2-r16        SEQUENCE {
        reducedMIMO-LayersFR2-DL-r16        INTEGER (1..8),
        reducedMIMO-LayersFR2-UL-r16        INTEGER (1..4)
    } OPTIONAL
}

MaxMIMO-LayerPreferenceFR2-2-r17 ::=    SEQUENCE {
    reducedMaxMIMO-LayersFR2-2-r17          SEQUENCE {
        reducedMIMO-LayersFR2-2-DL-r17          INTEGER (1..8),
        reducedMIMO-LayersFR2-2-UL-r17          INTEGER (1..4)
    } OPTIONAL
}

MinSchedulingOffsetPreference-r16 ::= SEQUENCE {
    preferredK0-r16                       SEQUENCE {
        preferredK0-SCS-15kHz-r16             ENUMERATED {sl1, sl2, sl4, sl6}              OPTIONAL,
        preferredK0-SCS-30kHz-r16             ENUMERATED {sl1, sl2, sl4, sl6}              OPTIONAL,
        preferredK0-SCS-60kHz-r16             ENUMERATED {sl2, sl4, sl8, sl12}             OPTIONAL,
        preferredK0-SCS-120kHz-r16            ENUMERATED {sl2, sl4, sl8, sl12}             OPTIONAL
    }                                                                                  OPTIONAL,
    preferredK2-r16                       SEQUENCE {
        preferredK2-SCS-15kHz-r16             ENUMERATED {sl1, sl2, sl4, sl6}             OPTIONAL,
        preferredK2-SCS-30kHz-r16             ENUMERATED {sl1, sl2, sl4, sl6}             OPTIONAL,
        preferredK2-SCS-60kHz-r16             ENUMERATED {sl2, sl4, sl8, sl12}            OPTIONAL,
        preferredK2-SCS-120kHz-r16            ENUMERATED {sl2, sl4, sl8, sl12}            OPTIONAL
    }                                                                                 OPTIONAL
}

MinSchedulingOffsetPreferenceExt-r17 ::=  SEQUENCE {
    preferredK0-r17                           SEQUENCE {
        preferredK0-SCS-480kHz-r17                ENUMERATED {sl8, sl16, sl32, sl48}      OPTIONAL,
        preferredK0-SCS-960kHz-r17                ENUMERATED {sl8, sl16, sl32, sl48}      OPTIONAL
    }                                                                                     OPTIONAL,
    preferredK2-r17                           SEQUENCE {
        preferredK2-SCS-480kHz-r17                ENUMERATED {sl8, sl16, sl32, sl48}      OPTIONAL,
        preferredK2-SCS-960kHz-r17                ENUMERATED {sl8, sl16, sl32, sl48}      OPTIONAL
    }                                                                                     OPTIONAL
}

MUSIM-Assistance-r17 ::=              SEQUENCE {
    musim-PreferredRRC-State-r17          ENUMERATED {idle, inactive, outOfConnected}     OPTIONAL,
    musim-GapPreferenceList-r17           MUSIM-GapPreferenceList-r17                     OPTIONAL
}

MUSIM-GapPreferenceList-r17 ::= SEQUENCE (SIZE (1..4)) OF MUSIM-GapInfo-r17

ReleasePreference-r16 ::=           SEQUENCE {
    preferredRRC-State-r16              ENUMERATED {idle, inactive, connected, outOfConnected}
}

ReducedMaxBW-FRx-r16 ::=            SEQUENCE {
    reducedBW-DL-r16                    ReducedAggregatedBandwidth,
    reducedBW-UL-r16                    ReducedAggregatedBandwidth
}

ReducedMaxCCs-r16 ::=               SEQUENCE {
    reducedCCsDL-r16                    INTEGER (0..31),
    reducedCCsUL-r16                    INTEGER (0..31)
}

SL-UE-AssistanceInformationNR-r16 ::= SEQUENCE (SIZE (1..maxNrofTrafficPattern-r16)) OF SL-TrafficPatternInfo-r16

SL-TrafficPatternInfo-r16 ::=         SEQUENCE {
    trafficPeriodicity-r16                ENUMERATED {ms20, ms50, ms100, ms200, ms300, ms400, ms500, ms600, ms700, ms800, ms900, ms1000},
    timingOffset-r16                      INTEGER (0..10239),
    messageSize-r16                       BIT STRING (SIZE (8)),
    sl-QoS-FlowIdentity-r16               SL-QoS-FlowIdentity-r16
}

UL-GapFR2-Preference-r17 ::=          SEQUENCE {
    ul-GapFR2-PatternPreference-r17       INTEGER (0..3)                     OPTIONAL
}

PropagationDelayDifference-r17 ::=  SEQUENCE (SIZE (1..4)) OF INTEGER (-270..270)

-- TAG-UEASSISTANCEINFORMATION-STOP
-- ASN1STOP

-- ASN1START

-- TAG-UECAPABILITYENQUIRY-START

UECapabilityEnquiry ::=             SEQUENCE {
    rrc-TransactionIdentifier           RRC-TransactionIdentifier,
    criticalExtensions                  CHOICE {
        ueCapabilityEnquiry                 UECapabilityEnquiry-IEs,
        criticalExtensionsFuture            SEQUENCE {}
    }
}

UECapabilityEnquiry-IEs ::=         SEQUENCE {
    ue-CapabilityRAT-RequestList        UE-CapabilityRAT-RequestList,
    lateNonCriticalExtension            OCTET STRING                                                            OPTIONAL,
    ue-CapabilityEnquiryExt             OCTET STRING (CONTAINING UECapabilityEnquiry-v1560-IEs)                 OPTIONAL --  Need N
}

UECapabilityEnquiry-v1560-IEs ::=   SEQUENCE {
    capabilityRequestFilterCommon       UE-CapabilityRequestFilterCommon                                        OPTIONAL, -- Need N
    nonCriticalExtension                UECapabilityEnquiry-v1610-IEs                                           OPTIONAL
}

UECapabilityEnquiry-v1610-IEs ::=   SEQUENCE {
    rrc-SegAllowed-r16                  ENUMERATED {enabled}           OPTIONAL, -- Need N
    nonCriticalExtension                SEQUENCE {}                    OPTIONAL
}

-- TAG-UECAPABILITYENQUIRY-STOP
-- ASN1STOP

-- ASN1START

-- TAG-UECAPABILITYINFORMATION-START

UECapabilityInformation ::=         SEQUENCE {
    rrc-TransactionIdentifier           RRC-TransactionIdentifier,
    criticalExtensions                  CHOICE {
        ueCapabilityInformation             UECapabilityInformation-IEs,
        criticalExtensionsFuture            SEQUENCE {}
    }
}

UECapabilityInformation-IEs ::=     SEQUENCE {
    ue-CapabilityRAT-ContainerList      UE-CapabilityRAT-ContainerList                                          OPTIONAL,
    lateNonCriticalExtension            OCTET STRING                                                            OPTIONAL,
    nonCriticalExtension                SEQUENCE{}                                                              OPTIONAL
}

-- TAG-UECAPABILITYINFORMATION-STOP
-- ASN1STOP

-- ASN1START

-- TAG-UEINFORMATIONREQUEST-START

UEInformationRequest-r16 ::=     SEQUENCE {
    rrc-TransactionIdentifier        RRC-TransactionIdentifier,
    criticalExtensions               CHOICE {
        ueInformationRequest-r16         UEInformationRequest-r16-IEs,
        criticalExtensionsFuture         SEQUENCE {}
    }
}

UEInformationRequest-r16-IEs ::= SEQUENCE {
    idleModeMeasurementReq-r16       ENUMERATED{true}                         OPTIONAL, -- Need N
    logMeasReportReq-r16             ENUMERATED {true}                        OPTIONAL, -- Need N
    connEstFailReportReq-r16         ENUMERATED {true}                        OPTIONAL, -- Need N
    ra-ReportReq-r16                 ENUMERATED {true}                        OPTIONAL, -- Need N
    rlf-ReportReq-r16                ENUMERATED {true}                        OPTIONAL, -- Need N
    mobilityHistoryReportReq-r16       ENUMERATED {true}                        OPTIONAL, -- Need N
    lateNonCriticalExtension         OCTET STRING                             OPTIONAL,
    nonCriticalExtension             UEInformationRequest-v1700-IEs           OPTIONAL
}

UEInformationRequest-v1700-IEs ::= SEQUENCE {
    successHO-ReportReq-r17          ENUMERATED {true}                        OPTIONAL, -- Need N
    coarseLocationRequest-r17        ENUMERATED {true}                        OPTIONAL, -- Need N
    nonCriticalExtension             SEQUENCE {}                              OPTIONAL
}

-- TAG-UEINFORMATIONREQUEST-STOP
-- ASN1STOP

-- ASN1START

-- TAG-UEINFORMATIONRESPONSE-START

UEInformationResponse-r16 ::=        SEQUENCE {
    rrc-TransactionIdentifier            RRC-TransactionIdentifier,
    criticalExtensions                   CHOICE {
        ueInformationResponse-r16            UEInformationResponse-r16-IEs,
        criticalExtensionsFuture             SEQUENCE {}
    }
}

UEInformationResponse-r16-IEs ::=    SEQUENCE {
    measResultIdleEUTRA-r16              MeasResultIdleEUTRA-r16             OPTIONAL,
    measResultIdleNR-r16                 MeasResultIdleNR-r16                OPTIONAL,
    logMeasReport-r16                    LogMeasReport-r16                   OPTIONAL,
    connEstFailReport-r16                ConnEstFailReport-r16               OPTIONAL,
    ra-ReportList-r16                    RA-ReportList-r16                   OPTIONAL,
    rlf-Report-r16                       RLF-Report-r16                      OPTIONAL,
    mobilityHistoryReport-r16            MobilityHistoryReport-r16           OPTIONAL,
    lateNonCriticalExtension             OCTET STRING                        OPTIONAL,
    nonCriticalExtension                 UEInformationResponse-v1700-IEs     OPTIONAL
}

UEInformationResponse-v1700-IEs ::=    SEQUENCE {
    successHO-Report-r17                 SuccessHO-Report-r17                OPTIONAL,
    connEstFailReportList-r17            ConnEstFailReportList-r17           OPTIONAL,
    coarseLocationInfo-r17               OCTET STRING                        OPTIONAL,
    nonCriticalExtension                 SEQUENCE {}                         OPTIONAL
}

LogMeasReport-r16 ::=                SEQUENCE {
    absoluteTimeStamp-r16                AbsoluteTimeInfo-r16,
    traceReference-r16                   TraceReference-r16,
    traceRecordingSessionRef-r16         OCTET STRING (SIZE (2)),
    tce-Id-r16                           OCTET STRING (SIZE (1)),
    logMeasInfoList-r16                  LogMeasInfoList-r16,
    logMeasAvailable-r16                 ENUMERATED {true}                   OPTIONAL,
    logMeasAvailableBT-r16               ENUMERATED {true}                   OPTIONAL,
    logMeasAvailableWLAN-r16             ENUMERATED {true}                   OPTIONAL,
    ...
}

LogMeasInfoList-r16 ::=              SEQUENCE (SIZE (1..maxLogMeasReport-r16)) OF LogMeasInfo-r16

LogMeasInfo-r16 ::=                  SEQUENCE {
    locationInfo-r16                     LocationInfo-r16                    OPTIONAL,
    relativeTimeStamp-r16                INTEGER (0..7200),
    servCellIdentity-r16                 CGI-Info-Logging-r16                OPTIONAL,
    measResultServingCell-r16            MeasResultServingCell-r16           OPTIONAL,
    measResultNeighCells-r16             SEQUENCE {
        measResultNeighCellListNR            MeasResultListLogging2NR-r16    OPTIONAL,
        measResultNeighCellListEUTRA         MeasResultList2EUTRA-r16        OPTIONAL
    },
    anyCellSelectionDetected-r16         ENUMERATED {true}                   OPTIONAL,
    ...,
    [[
    inDeviceCoexDetected-r17             ENUMERATED {true}                   OPTIONAL
    ]]
}

ConnEstFailReport-r16 ::=            SEQUENCE {
    measResultFailedCell-r16             MeasResultFailedCell-r16,
    locationInfo-r16                     LocationInfo-r16                    OPTIONAL,
    measResultNeighCells-r16             SEQUENCE {
        measResultNeighCellListNR            MeasResultList2NR-r16               OPTIONAL,
        measResultNeighCellListEUTRA         MeasResultList2EUTRA-r16            OPTIONAL
    },
    numberOfConnFail-r16                 INTEGER (1..8),
    perRAInfoList-r16                            PerRAInfoList-r16,
    timeSinceFailure-r16                 TimeSinceFailure-r16,
    ...
}

ConnEstFailReportList-r17 ::= SEQUENCE (SIZE (1..maxCEFReport-r17)) OF ConnEstFailReport-r16

MeasResultServingCell-r16 ::=        SEQUENCE {
    resultsSSB-Cell                      MeasQuantityResults,
    resultsSSB                           SEQUENCE{
        best-ssb-Index                       SSB-Index,
        best-ssb-Results                     MeasQuantityResults,
        numberOfGoodSSB                      INTEGER (1..maxNrofSSBs-r16)
    }                                                                        OPTIONAL
}

MeasResultFailedCell-r16 ::=         SEQUENCE {
    cgi-Info                             CGI-Info-Logging-r16,
    measResult-r16                       SEQUENCE {
        cellResults-r16                      SEQUENCE{
            resultsSSB-Cell-r16                  MeasQuantityResults
        },
        rsIndexResults-r16                   SEQUENCE{
            resultsSSB-Indexes-r16               ResultsPerSSB-IndexList
        }
    }
}

RA-ReportList-r16 ::= SEQUENCE (SIZE (1..maxRAReport-r16)) OF RA-Report-r16

RA-Report-r16 ::=                    SEQUENCE {
    cellId-r16                           CHOICE {
        cellGlobalId-r16                     CGI-Info-Logging-r16,
        pci-arfcn-r16                        PCI-ARFCN-NR-r16
    },
    ra-InformationCommon-r16             RA-InformationCommon-r16                         OPTIONAL,
    raPurpose-r16                        ENUMERATED {accessRelated, beamFailureRecovery, reconfigurationWithSync, ulUnSynchronized,
                                                    schedulingRequestFailure, noPUCCHResourceAvailable, requestForOtherSI,
                                                    msg3RequestForOtherSI-r17, spare8, spare7, spare6, spare5, spare4, spare3,
                                                    spare2, spare1},
    ...,
    [[
    spCellID-r17                         CGI-Info-Logging-r16                             OPTIONAL
    ]]
}

RA-InformationCommon-r16 ::=         SEQUENCE {
    absoluteFrequencyPointA-r16          ARFCN-ValueNR,
    locationAndBandwidth-r16             INTEGER (0..37949),
    subcarrierSpacing-r16                SubcarrierSpacing,
    msg1-FrequencyStart-r16              INTEGER (0..maxNrofPhysicalResourceBlocks-1)     OPTIONAL,
    msg1-FrequencyStartCFRA-r16          INTEGER (0..maxNrofPhysicalResourceBlocks-1)     OPTIONAL,
    msg1-SubcarrierSpacing-r16           SubcarrierSpacing                                OPTIONAL,
    msg1-SubcarrierSpacingCFRA-r16       SubcarrierSpacing                                OPTIONAL,
    msg1-FDM-r16                         ENUMERATED {one, two, four, eight}               OPTIONAL,
    msg1-FDMCFRA-r16                     ENUMERATED {one, two, four, eight}               OPTIONAL,
    perRAInfoList-r16                    PerRAInfoList-r16,
    ...,
    [[
    perRAInfoList-v1660               PerRAInfoList-v1660                           OPTIONAL
    ]],
    [[
    msg1-SCS-From-prach-ConfigurationIndex-r16  ENUMERATED {kHz1dot25, kHz5, spare2, spare1}  OPTIONAL
    ]],
    [[
    msg1-SCS-From-prach-ConfigurationIndexCFRA-r16  ENUMERATED {kHz1dot25, kHz5, spare2, spare1} OPTIONAL
    ]],
    [[
    msgA-RO-FrequencyStart-r17           INTEGER (0..maxNrofPhysicalResourceBlocks-1)     OPTIONAL,
    msgA-RO-FrequencyStartCFRA-r17       INTEGER (0..maxNrofPhysicalResourceBlocks-1)     OPTIONAL,
    msgA-SubcarrierSpacing-r17           SubcarrierSpacing                                OPTIONAL,
    msgA-RO-FDM-r17                      ENUMERATED {one, two, four, eight}               OPTIONAL,
    msgA-RO-FDMCFRA-r17                  ENUMERATED {one, two, four, eight}               OPTIONAL,
    msgA-SCS-From-prach-ConfigurationIndex-r17  ENUMERATED {kHz1dot25, kHz5, spare2, spare1}  OPTIONAL,
    msgA-TransMax-r17                    ENUMERATED {n1, n2, n4, n6, n8, n10, n20, n50, n100, n200}  OPTIONAL,
    msgA-MCS-r17                         INTEGER (0..15)                                   OPTIONAL,
    nrofPRBs-PerMsgA-PO-r17              INTEGER (1..32)                                  OPTIONAL,
    msgA-PUSCH-TimeDomainAllocation-r17  INTEGER (1..maxNrofUL-Allocations)               OPTIONAL,
    frequencyStartMsgA-PUSCH-r17         INTEGER (0..maxNrofPhysicalResourceBlocks-1)     OPTIONAL,
    nrofMsgA-PO-FDM-r17                  ENUMERATED {one, two, four, eight}               OPTIONAL,
    dlPathlossRSRP-r17                   RSRP-Range                                       OPTIONAL,
    intendedSIBs-r17                     SEQUENCE (SIZE (1..maxSIB)) OF SIB-Type-r17      OPTIONAL,
    ssbsForSI-Acquisition-r17            SEQUENCE (SIZE (1..maxNrofSSBs-r16)) OF SSB-Index    OPTIONAL,
    msgA-PUSCH-PayloadSize-r17           BIT STRING (SIZE (5))                            OPTIONAL,
    onDemandSISuccess-r17                ENUMERATED {true}                                OPTIONAL
    ]]
}

PerRAInfoList-r16 ::= SEQUENCE (SIZE (1..200)) OF PerRAInfo-r16

PerRAInfoList-v1660 ::= SEQUENCE (SIZE (1..200)) OF PerRACSI-RSInfo-v1660

PerRAInfo-r16 ::=                    CHOICE {
    perRASSBInfoList-r16                 PerRASSBInfo-r16,
    perRACSI-RSInfoList-r16              PerRACSI-RSInfo-r16
}

PerRASSBInfo-r16 ::=                 SEQUENCE {
    ssb-Index-r16                        SSB-Index,
    numberOfPreamblesSentOnSSB-r16       INTEGER (1..200),
    perRAAttemptInfoList-r16             PerRAAttemptInfoList-r16
}

PerRACSI-RSInfo-r16 ::=              SEQUENCE {
    csi-RS-Index-r16                     CSI-RS-Index,
    numberOfPreamblesSentOnCSI-RS-r16    INTEGER (1..200)
}

PerRACSI-RSInfo-v1660 ::=         SEQUENCE {
    csi-RS-Index-v1660                   INTEGER (1..96)                     OPTIONAL
}

PerRAAttemptInfoList-r16 ::=         SEQUENCE (SIZE (1..200)) OF PerRAAttemptInfo-r16

PerRAAttemptInfo-r16 ::=             SEQUENCE {
    contentionDetected-r16               BOOLEAN                OPTIONAL,
    dlRSRPAboveThreshold-r16             BOOLEAN                OPTIONAL,
    ...,
    [[
    fallbackToFourStepRA-r17             ENUMERATED {true}      OPTIONAL
    ]]
}

SIB-Type-r17 ::= ENUMERATED {sibType2, sibType3, sibType4, sibType5, sibType9, sibType10-v1610, sibType11-v1610, sibType12-v1610,
                             sibType13-v1610, sibType14-v1610, spare6, spare5, spare4, spare3, spare2, spare1}

RLF-Report-r16 ::=                   CHOICE {
    nr-RLF-Report-r16                    SEQUENCE {
        measResultLastServCell-r16           MeasResultRLFNR-r16,
        measResultNeighCells-r16             SEQUENCE {
            measResultListNR-r16                 MeasResultList2NR-r16       OPTIONAL,
            measResultListEUTRA-r16              MeasResultList2EUTRA-r16    OPTIONAL
        }                                                OPTIONAL,
        c-RNTI-r16                           RNTI-Value,
        previousPCellId-r16                  CHOICE {
            nrPreviousCell-r16                   CGI-Info-Logging-r16,
            eutraPreviousCell-r16                CGI-InfoEUTRALogging
        }                                                                    OPTIONAL,
        failedPCellId-r16                    CHOICE {
            nrFailedPCellId-r16                  CHOICE {
                cellGlobalId-r16                     CGI-Info-Logging-r16,
                pci-arfcn-r16                        PCI-ARFCN-NR-r16
            },
            eutraFailedPCellId-r16           CHOICE {
                cellGlobalId-r16                 CGI-InfoEUTRALogging,
                pci-arfcn-r16                    PCI-ARFCN-EUTRA-r16
            }
        },
        reconnectCellId-r16                  CHOICE {
            nrReconnectCellId-r16                CGI-Info-Logging-r16,
            eutraReconnectCellId-r16             CGI-InfoEUTRALogging
        }                                                                                        OPTIONAL,
        timeUntilReconnection-r16            TimeUntilReconnection-r16                           OPTIONAL,
        reestablishmentCellId-r16            CGI-Info-Logging-r16                                OPTIONAL,
        timeConnFailure-r16                  INTEGER (0..1023)                                   OPTIONAL,
        timeSinceFailure-r16                 TimeSinceFailure-r16,
        connectionFailureType-r16            ENUMERATED {rlf, hof},
        rlf-Cause-r16                        ENUMERATED {t310-Expiry, randomAccessProblem, rlc-MaxNumRetx,
                                                         beamFailureRecoveryFailure, lbtFailure-r16,
                                                         bh-rlfRecoveryFailure, t312-expiry-r17, spare1},
        locationInfo-r16                     LocationInfo-r16                                    OPTIONAL,
        noSuitableCellFound-r16              ENUMERATED {true}                                   OPTIONAL,
        ra-InformationCommon-r16             RA-InformationCommon-r16                            OPTIONAL,
        ...,
        [[
        csi-rsRLMConfigBitmap-v1650          BIT STRING (SIZE (96))                              OPTIONAL
        ]],
        [[
        lastHO-Type-r17                      ENUMERATED {cho, daps, spare2, spare1}              OPTIONAL,
        timeConnSourceDAPS-Failure-r17       TimeConnSourceDAPS-Failure-r17                      OPTIONAL,
        timeSinceCHO-Reconfig-r17            TimeSinceCHO-Reconfig-r17                           OPTIONAL,
        choCellId-r17                        CHOICE {
            cellGlobalId-r17                     CGI-Info-Logging-r16,
            pci-arfcn-r17                        PCI-ARFCN-NR-r16
        }                                                                                        OPTIONAL,
        choCandidateCellList-r17             ChoCandidateCellList-r17                            OPTIONAL
        ]]
    },
    eutra-RLF-Report-r16                 SEQUENCE {
        failedPCellId-EUTRA                  CGI-InfoEUTRALogging,
        measResult-RLF-Report-EUTRA-r16      OCTET STRING,
        ...,
        [[
        measResult-RLF-Report-EUTRA-v1690    OCTET STRING                                        OPTIONAL
        ]]
    }
}

SuccessHO-Report-r17 ::=                 SEQUENCE {
    sourceCellInfo-r17                       SEQUENCE {
        sourcePCellId-r17                        CGI-Info-Logging-r16,
        sourceCellMeas-r17                       MeasResultSuccessHONR-r17                       OPTIONAL,
        rlf-InSourceDAPS-r17                     ENUMERATED {true}                               OPTIONAL
    },
    targetCellInfo-r17                       SEQUENCE {
        targetPCellId-r17                        CGI-Info-Logging-r16,
        targetCellMeas-r17                       MeasResultSuccessHONR-r17                       OPTIONAL
    },
    measResultNeighCells-r17                 SEQUENCE {
        measResultListNR-r17                     MeasResultList2NR-r16                           OPTIONAL,
        measResultListEUTRA-r17                  MeasResultList2EUTRA-r16                        OPTIONAL
    }                                                                                            OPTIONAL,
    locationInfo-r17                         LocationInfo-r16                                    OPTIONAL,
    timeSinceCHO-Reconfig-r17                TimeSinceCHO-Reconfig-r17                           OPTIONAL,
    shr-Cause-r17                            SHR-Cause-r17                                       OPTIONAL,
    ra-InformationCommon-r17                 RA-InformationCommon-r16                            OPTIONAL,
    upInterruptionTimeAtHO-r17               UPInterruptionTimeAtHO-r17                          OPTIONAL,
    c-RNTI-r17                               RNTI-Value                                          OPTIONAL,
    ...
}

MeasResultList2NR-r16 ::=            SEQUENCE(SIZE (1..maxFreq)) OF MeasResult2NR-r16
MeasResultList2EUTRA-r16 ::=         SEQUENCE(SIZE (1..maxFreq)) OF MeasResult2EUTRA-r16

MeasResult2NR-r16 ::=                SEQUENCE {
    ssbFrequency-r16                     ARFCN-ValueNR                                           OPTIONAL,
    refFreqCSI-RS-r16                    ARFCN-ValueNR                                           OPTIONAL,
    measResultList-r16                   MeasResultListNR
}

MeasResultListLogging2NR-r16 ::=     SEQUENCE(SIZE (1..maxFreq)) OF MeasResultLogging2NR-r16

MeasResultLogging2NR-r16 ::=         SEQUENCE {
    carrierFreq-r16                      ARFCN-ValueNR,
    measResultListLoggingNR-r16          MeasResultListLoggingNR-r16
}

MeasResultListLoggingNR-r16 ::=      SEQUENCE (SIZE (1..maxCellReport)) OF MeasResultLoggingNR-r16

MeasResultLoggingNR-r16 ::=          SEQUENCE {
    physCellId-r16                       PhysCellId,
    resultsSSB-Cell-r16                  MeasQuantityResults,
    numberOfGoodSSB-r16                  INTEGER (1..maxNrofSSBs-r16) OPTIONAL
}

MeasResult2EUTRA-r16 ::=             SEQUENCE {
    carrierFreq-r16                      ARFCN-ValueEUTRA,
    measResultList-r16                   MeasResultListEUTRA
}

MeasResultRLFNR-r16 ::=              SEQUENCE {
    measResult-r16                       SEQUENCE {
        cellResults-r16                      SEQUENCE{
            resultsSSB-Cell-r16                  MeasQuantityResults                             OPTIONAL,
            resultsCSI-RS-Cell-r16               MeasQuantityResults                             OPTIONAL
        },
        rsIndexResults-r16                   SEQUENCE{
            resultsSSB-Indexes-r16               ResultsPerSSB-IndexList                         OPTIONAL,
            ssbRLMConfigBitmap-r16               BIT STRING (SIZE (64))                          OPTIONAL,
            resultsCSI-RS-Indexes-r16            ResultsPerCSI-RS-IndexList                      OPTIONAL,
            csi-rsRLMConfigBitmap-r16            BIT STRING (SIZE (96))                          OPTIONAL
        }                                                                                    OPTIONAL
    }
}

MeasResultSuccessHONR-r17 ::=        SEQUENCE {
    measResult-r17                       SEQUENCE {
        cellResults-r17                      SEQUENCE{
            resultsSSB-Cell-r17                  MeasQuantityResults                             OPTIONAL,
            resultsCSI-RS-Cell-r17               MeasQuantityResults                             OPTIONAL
        },
        rsIndexResults-r17                   SEQUENCE{
            resultsSSB-Indexes-r17               ResultsPerSSB-IndexList                         OPTIONAL,
            resultsCSI-RS-Indexes-r17            ResultsPerCSI-RS-IndexList                      OPTIONAL
        }
    }
}

ChoCandidateCellList-r17 ::=         SEQUENCE(SIZE (1..maxNrofCondCells-r16)) OF ChoCandidateCell-r17

ChoCandidateCell-r17 ::=             CHOICE {
    cellGlobalId-r17                     CGI-Info-Logging-r16,
    pci-arfcn-r17                        PCI-ARFCN-NR-r16
}

SHR-Cause-r17 ::=                    SEQUENCE {
    t304-cause-r17                       ENUMERATED {true}                                       OPTIONAL,
    t310-cause-r17                       ENUMERATED {true}                                       OPTIONAL,
    t312-cause-r17                       ENUMERATED {true}                                       OPTIONAL,
    sourceDAPS-Failure-r17               ENUMERATED {true}                                       OPTIONAL,
    ...
}

TimeSinceFailure-r16 ::= INTEGER (0..172800)

MobilityHistoryReport-r16 ::= VisitedCellInfoList-r16

TimeUntilReconnection-r16 ::= INTEGER (0..172800)

TimeSinceCHO-Reconfig-r17 ::= INTEGER (0..1023)

TimeConnSourceDAPS-Failure-r17 ::= INTEGER (0..1023)

UPInterruptionTimeAtHO-r17 ::= INTEGER (0..1023)

-- TAG-UEINFORMATIONRESPONSE-STOP
-- ASN1STOP

-- ASN1START

-- TAG-UEPOSITIONINGASSISTANCEINFO-START

UEPositioningAssistanceInfo-r17 ::= SEQUENCE {
    criticalExtensions                  CHOICE {
        uePositioningAssistanceInfo-r17     UEPositioningAssistanceInfo-r17-IEs,
        criticalExtensionsFuture            SEQUENCE {}
    }
}

UEPositioningAssistanceInfo-r17-IEs ::= SEQUENCE {
    ue-TxTEG-AssociationList-r17            UE-TxTEG-AssociationList-r17          OPTIONAL,
    lateNonCriticalExtension                OCTET STRING                          OPTIONAL,
    nonCriticalExtension                    UEPositioningAssistanceInfo-v1720-IEs OPTIONAL
}

UEPositioningAssistanceInfo-v1720-IEs ::=   SEQUENCE {
    ue-TxTEG-TimingErrorMarginValue-r17         ENUMERATED {tc0, tc2, tc4, tc6, tc8, tc12, tc16, tc20, tc24, tc32, tc40, tc48, tc56,
                                                            tc64, tc72, tc80}                                      OPTIONAL,
    nonCriticalExtension                        SEQUENCE {}                                                        OPTIONAL
}

UE-TxTEG-AssociationList-r17 ::= SEQUENCE (SIZE (1..maxNrOfTxTEGReport-r17)) OF UE-TxTEG-Association-r17

UE-TxTEG-Association-r17 ::=        SEQUENCE {
    ue-TxTEG-ID-r17                     INTEGER (0..maxNrOfTxTEG-ID-1-r17),
    nr-TimeStamp-r17                    NR-TimeStamp-r17,
    associatedSRS-PosResourceIdList-r17 SEQUENCE (SIZE(1..maxNrofSRS-PosResources-r16)) OF SRS-PosResourceId-r16,
    servCellId-r17                      ServCellIndex                            OPTIONAL
}

NR-TimeStamp-r17 ::= SEQUENCE {
    nr-SFN-r17           INTEGER (0..1023),
    nr-Slot-r17          CHOICE {
        scs15-r17            INTEGER (0..9),
        scs30-r17            INTEGER (0..19),
        scs60-r17            INTEGER (0..39),
        scs120-r17           INTEGER (0..79)
    },
    ...
}

-- TAG-UEPOSITIONINGASSISTANCEINFO-STOP
-- ASN1STOP

-- ASN1START

-- TAG-ULDEDICATEDMESSAGESEGMENT-START

ULDedicatedMessageSegment-r16 ::=       SEQUENCE {
    criticalExtensions                      CHOICE {
        ulDedicatedMessageSegment-r16           ULDedicatedMessageSegment-r16-IEs,
        criticalExtensionsFuture                SEQUENCE {}
    }
}

ULDedicatedMessageSegment-r16-IEs ::=     SEQUENCE {
    segmentNumber-r16                         INTEGER (0..15),
    rrc-MessageSegmentContainer-r16           OCTET STRING,
    rrc-MessageSegmentType-r16                ENUMERATED {notLastSegment, lastSegment},
    lateNonCriticalExtension                  OCTET STRING                                  OPTIONAL,
    nonCriticalExtension                      SEQUENCE {}                                   OPTIONAL
}

-- TAG-ULDEDICATEDMESSAGESEGMENT-STOP
-- ASN1STOP

-- ASN1START

-- TAG-ULINFORMATIONTRANSFER-START

ULInformationTransfer ::=           SEQUENCE {
    criticalExtensions                  CHOICE {
        ulInformationTransfer               ULInformationTransfer-IEs,
        criticalExtensionsFuture            SEQUENCE {}
    }
}

ULInformationTransfer-IEs ::=       SEQUENCE {
    dedicatedNAS-Message                DedicatedNAS-Message                OPTIONAL,
    lateNonCriticalExtension            OCTET STRING                        OPTIONAL,
    nonCriticalExtension                ULInformationTransfer-v1700-IEs     OPTIONAL
}

ULInformationTransfer-v1700-IEs ::=       SEQUENCE {
    dedicatedInfoF1c-r17                      DedicatedInfoF1c-r17                OPTIONAL,
    nonCriticalExtension                      SEQUENCE {}                         OPTIONAL
}

-- TAG-ULINFORMATIONTRANSFER-STOP
-- ASN1STOP

-- ASN1START

-- TAG-ULINFORMATIONTRANSFERIRAT-START

ULInformationTransferIRAT-r16 ::=              SEQUENCE {
    criticalExtensions                                CHOICE {
        c1                                                   CHOICE {
            ulInformationTransferIRAT-r16                    ULInformationTransferIRAT-r16-IEs,
            spare3 NULL, spare2 NULL, spare1 NULL
        },
        criticalExtensionsFuture                     SEQUENCE {}
    }
}

ULInformationTransferIRAT-r16-IEs ::=        SEQUENCE {
    ul-DCCH-MessageEUTRA-r16                           OCTET STRING             OPTIONAL,
    lateNonCriticalExtension                           OCTET STRING              OPTIONAL,
    nonCriticalExtension                                SEQUENCE {}               OPTIONAL
}

-- TAG-ULINFORMATIONTRANSFERIRAT-STOP
-- ASN1STOP

-- ASN1START

-- TAG-ULINFORMATIONTRANSFERMRDC-START

ULInformationTransferMRDC ::=               SEQUENCE {
    criticalExtensions                          CHOICE {
        c1                                          CHOICE {
            ulInformationTransferMRDC                   ULInformationTransferMRDC-IEs,
            spare3 NULL, spare2 NULL, spare1 NULL
        },
        criticalExtensionsFuture            SEQUENCE {}
    }
}

ULInformationTransferMRDC-IEs ::=           SEQUENCE {
    ul-DCCH-MessageNR                           OCTET STRING                    OPTIONAL,
    ul-DCCH-MessageEUTRA                        OCTET STRING                    OPTIONAL,
    lateNonCriticalExtension                    OCTET STRING                    OPTIONAL,
    nonCriticalExtension                        SEQUENCE {}                     OPTIONAL
}

-- TAG-ULINFORMATIONTRANSFERMRDC-STOP
-- ASN1STOP

-- ASN1START

-- TAG-SETUPRELEASE-START

SetupRelease { ElementTypeParam } ::= CHOICE {
    release         NULL,
    setup           ElementTypeParam
}

-- TAG-SETUPRELEASE-STOP
-- ASN1STOP

-- ASN1START

-- TAG-SIB2-START

SIB2 ::=                            SEQUENCE {
    cellReselectionInfoCommon           SEQUENCE {
        nrofSS-BlocksToAverage              INTEGER (2..maxNrofSS-BlocksToAverage)          OPTIONAL,       -- Need S
        absThreshSS-BlocksConsolidation     ThresholdNR                                     OPTIONAL,       -- Need S
        rangeToBestCell                     RangeToBestCell                                 OPTIONAL,       -- Need R
        q-Hyst                              ENUMERATED {
                                                dB0, dB1, dB2, dB3, dB4, dB5, dB6, dB8, dB10,
                                                dB12, dB14, dB16, dB18, dB20, dB22, dB24},
        speedStateReselectionPars           SEQUENCE {
            mobilityStateParameters             MobilityStateParameters,
            q-HystSF                        SEQUENCE {
                sf-Medium                       ENUMERATED {dB-6, dB-4, dB-2, dB0},
                sf-High                         ENUMERATED {dB-6, dB-4, dB-2, dB0}
            }
        }                                                                                   OPTIONAL,       -- Need R
    ...
    },
    cellReselectionServingFreqInfo      SEQUENCE {
        s-NonIntraSearchP                   ReselectionThreshold                            OPTIONAL,       -- Need S
        s-NonIntraSearchQ                   ReselectionThresholdQ                           OPTIONAL,       -- Need S
        threshServingLowP                   ReselectionThreshold,
        threshServingLowQ                   ReselectionThresholdQ                           OPTIONAL,       -- Need R
        cellReselectionPriority             CellReselectionPriority,
        cellReselectionSubPriority          CellReselectionSubPriority                      OPTIONAL,       -- Need R
        ...
    },
    intraFreqCellReselectionInfo        SEQUENCE {
        q-RxLevMin                          Q-RxLevMin,
        q-RxLevMinSUL                       Q-RxLevMin                                      OPTIONAL,       -- Need R
        q-QualMin                           Q-QualMin                                       OPTIONAL,       -- Need S
        s-IntraSearchP                      ReselectionThreshold,
        s-IntraSearchQ                      ReselectionThresholdQ                           OPTIONAL,       -- Need S
        t-ReselectionNR                     T-Reselection,
        frequencyBandList                   MultiFrequencyBandListNR-SIB                    OPTIONAL,       -- Need S
        frequencyBandListSUL                MultiFrequencyBandListNR-SIB                    OPTIONAL,       -- Need R
        p-Max                               P-Max                                           OPTIONAL,       -- Need S
        smtc                                SSB-MTC                                         OPTIONAL,       -- Need S
        ss-RSSI-Measurement                 SS-RSSI-Measurement                             OPTIONAL,       -- Need R
        ssb-ToMeasure                       SSB-ToMeasure                                   OPTIONAL,       -- Need S
        deriveSSB-IndexFromCell             BOOLEAN,
        ...,
        [[
        t-ReselectionNR-SF                  SpeedStateScaleFactors                          OPTIONAL        -- Need N
        ]],
        [[
        smtc2-LP-r16                        SSB-MTC2-LP-r16                                 OPTIONAL,        -- Need R
        ssb-PositionQCL-Common-r16          SSB-PositionQCL-Relation-r16                    OPTIONAL         -- Cond SharedSpectrum
        ]],
        [[
        ssb-PositionQCL-Common-r17          SSB-PositionQCL-Relation-r17                    OPTIONAL         -- Cond SharedSpectrum2
        ]],
        [[
        smtc4list-r17                       SSB-MTC4List-r17                                OPTIONAL         -- Need R
        ]]
    },
    ...,
    [[
    relaxedMeasurement-r16              SEQUENCE {
        lowMobilityEvaluation-r16           SEQUENCE {
            s-SearchDeltaP-r16                  ENUMERATED {
                                                    dB3, dB6, dB9, dB12, dB15,
                                                    spare3, spare2, spare1},
            t-SearchDeltaP-r16                  ENUMERATED {
                                                    s5, s10, s20, s30, s60, s120, s180,
                                                    s240, s300, spare7, spare6, spare5,
                                                    spare4, spare3, spare2, spare1}
        }                                                                                   OPTIONAL,       -- Need R
        cellEdgeEvaluation-r16              SEQUENCE {
            s-SearchThresholdP-r16              ReselectionThreshold,
            s-SearchThresholdQ-r16              ReselectionThresholdQ                       OPTIONAL        -- Need R
        }                                                                                   OPTIONAL,       -- Need R
        combineRelaxedMeasCondition-r16     ENUMERATED {true}                               OPTIONAL,       -- Need R
        highPriorityMeasRelax-r16           ENUMERATED {true}                               OPTIONAL        -- Need R
    }                                                                                       OPTIONAL        -- Need R
    ]],
    [[
    cellEquivalentSize-r17                  INTEGER(2..16)                                  OPTIONAL,       -- Cond HSDN
    relaxedMeasurement-r17                  SEQUENCE {
        stationaryMobilityEvaluation-r17        SEQUENCE {
            s-SearchDeltaP-Stationary-r17           ENUMERATED {dB2, dB3, dB6, dB9, dB12, dB15, spare2, spare1},
            t-SearchDeltaP-Stationary-r17           ENUMERATED {s5, s10, s20, s30, s60, s120, s180, s240, s300, spare7, spare6, spare5,
                                                                spare4, spare3, spare2, spare1}
        },
        cellEdgeEvaluationWhileStationary-r17   SEQUENCE {
            s-SearchThresholdP2-r17                 ReselectionThreshold,
            s-SearchThresholdQ2-r17                 ReselectionThresholdQ                   OPTIONAL        -- Need R
        }                                                                                   OPTIONAL,       -- Need R
        combineRelaxedMeasCondition2-r17        ENUMERATED {true}                           OPTIONAL        -- Need R
    }                                                                                       OPTIONAL        -- Need R
    ]]
}

RangeToBestCell ::= Q-OffsetRange

-- TAG-SIB2-STOP
-- ASN1STOP

-- ASN1START

-- TAG-SIB3-START

SIB3 ::=                            SEQUENCE {
    intraFreqNeighCellList              IntraFreqNeighCellList                                          OPTIONAL,   -- Need R
    intraFreqExcludedCellList           IntraFreqExcludedCellList                                       OPTIONAL,   -- Need R
    lateNonCriticalExtension            OCTET STRING                                                    OPTIONAL,
    ...,
    [[
    intraFreqNeighCellList-v1610        IntraFreqNeighCellList-v1610                                    OPTIONAL,   -- Need R
    intraFreqAllowedCellList-r16        IntraFreqAllowedCellList-r16                                    OPTIONAL,   -- Cond SharedSpectrum2
    intraFreqCAG-CellList-r16           SEQUENCE (SIZE (1..maxPLMN)) OF IntraFreqCAG-CellListPerPLMN-r16    OPTIONAL    -- Need R
    ]],
    [[
    intraFreqNeighHSDN-CellList-r17     IntraFreqNeighHSDN-CellList-r17                                 OPTIONAL,    -- Need R
    intraFreqNeighCellList-v1710        IntraFreqNeighCellList-v1710                                    OPTIONAL     -- Need R
    ]],
    [[
    channelAccessMode2-r17              ENUMERATED {enabled}                                            OPTIONAL     -- Need R
    ]]
}

IntraFreqNeighCellList ::=          SEQUENCE (SIZE (1..maxCellIntra)) OF IntraFreqNeighCellInfo

IntraFreqNeighCellList-v1610 ::=     SEQUENCE (SIZE (1..maxCellIntra)) OF IntraFreqNeighCellInfo-v1610

IntraFreqNeighCellList-v1710 ::=     SEQUENCE (SIZE (1..maxCellIntra)) OF IntraFreqNeighCellInfo-v1710

IntraFreqNeighCellInfo ::=          SEQUENCE {
    physCellId                          PhysCellId,
    q-OffsetCell                        Q-OffsetRange,
    q-RxLevMinOffsetCell                INTEGER (1..8)                                  OPTIONAL,   -- Need R
    q-RxLevMinOffsetCellSUL             INTEGER (1..8)                                  OPTIONAL,   -- Need R
    q-QualMinOffsetCell                 INTEGER (1..8)                                  OPTIONAL,   -- Need R
    ...
}

IntraFreqNeighCellInfo-v1610 ::=     SEQUENCE {
    ssb-PositionQCL-r16                 SSB-PositionQCL-Relation-r16                    OPTIONAL   -- Cond SharedSpectrum2
}

IntraFreqNeighCellInfo-v1710 ::=     SEQUENCE {
    ssb-PositionQCL-r17                 SSB-PositionQCL-Relation-r17                    OPTIONAL   -- Cond SharedSpectrum2
}

IntraFreqExcludedCellList ::=       SEQUENCE (SIZE (1..maxCellExcluded)) OF PCI-Range

IntraFreqAllowedCellList-r16 ::=    SEQUENCE (SIZE (1..maxCellAllowed)) OF PCI-Range

IntraFreqCAG-CellListPerPLMN-r16 ::= SEQUENCE {
    plmn-IdentityIndex-r16               INTEGER (1..maxPLMN),
    cag-CellList-r16                     SEQUENCE (SIZE (1..maxCAG-Cell-r16)) OF PCI-Range
}

IntraFreqNeighHSDN-CellList-r17 ::= SEQUENCE (SIZE (1..maxCellIntra)) OF PCI-Range

-- TAG-SIB3-STOP
-- ASN1STOP

-- ASN1START

-- TAG-SIB4-START

SIB4 ::=                            SEQUENCE {
    interFreqCarrierFreqList            InterFreqCarrierFreqList,
    lateNonCriticalExtension            OCTET STRING                                OPTIONAL,
    ...,
    [[
    interFreqCarrierFreqList-v1610      InterFreqCarrierFreqList-v1610              OPTIONAL   -- Need R
    ]],
    [[
    interFreqCarrierFreqList-v1700      InterFreqCarrierFreqList-v1700              OPTIONAL   -- Need R
    ]],
    [[
    interFreqCarrierFreqList-v1720      InterFreqCarrierFreqList-v1720              OPTIONAL   -- Need R
    ]],
    [[
    interFreqCarrierFreqList-v1730      InterFreqCarrierFreqList-v1730              OPTIONAL   -- Need R
    ]]
}

InterFreqCarrierFreqList ::=        SEQUENCE (SIZE (1..maxFreq)) OF InterFreqCarrierFreqInfo

InterFreqCarrierFreqList-v1610 ::=  SEQUENCE (SIZE (1..maxFreq)) OF InterFreqCarrierFreqInfo-v1610

InterFreqCarrierFreqList-v1700 ::=  SEQUENCE (SIZE (1..maxFreq)) OF InterFreqCarrierFreqInfo-v1700

InterFreqCarrierFreqList-v1720 ::=  SEQUENCE (SIZE (1..maxFreq)) OF InterFreqCarrierFreqInfo-v1720

InterFreqCarrierFreqList-v1730 ::=  SEQUENCE (SIZE (1..maxFreq)) OF InterFreqCarrierFreqInfo-v1730

InterFreqCarrierFreqInfo ::=        SEQUENCE {
    dl-CarrierFreq                      ARFCN-ValueNR,
    frequencyBandList                   MultiFrequencyBandListNR-SIB                                OPTIONAL,   -- Cond Mandatory
    frequencyBandListSUL                MultiFrequencyBandListNR-SIB                                OPTIONAL,   -- Need R
    nrofSS-BlocksToAverage              INTEGER (2..maxNrofSS-BlocksToAverage)                      OPTIONAL,   -- Need S
    absThreshSS-BlocksConsolidation     ThresholdNR                                                 OPTIONAL,   -- Need S
    smtc                                SSB-MTC                                                     OPTIONAL,   -- Need S
    ssbSubcarrierSpacing                SubcarrierSpacing,
    ssb-ToMeasure                       SSB-ToMeasure                                               OPTIONAL,   -- Need S
    deriveSSB-IndexFromCell             BOOLEAN,
    ss-RSSI-Measurement                 SS-RSSI-Measurement                                         OPTIONAL,   -- Need R
    q-RxLevMin                          Q-RxLevMin,
    q-RxLevMinSUL                       Q-RxLevMin                                                  OPTIONAL,   -- Need R
    q-QualMin                           Q-QualMin                                                   OPTIONAL,   -- Need S
    p-Max                               P-Max                                                       OPTIONAL,   -- Need S
    t-ReselectionNR                     T-Reselection,
    t-ReselectionNR-SF                  SpeedStateScaleFactors                                      OPTIONAL,   -- Need S
    threshX-HighP                       ReselectionThreshold,
    threshX-LowP                        ReselectionThreshold,
    threshX-Q                           SEQUENCE {
        threshX-HighQ                       ReselectionThresholdQ,
        threshX-LowQ                        ReselectionThresholdQ
    }                                                                                               OPTIONAL,   -- Cond RSRQ
    cellReselectionPriority             CellReselectionPriority                                     OPTIONAL,   -- Need R
    cellReselectionSubPriority          CellReselectionSubPriority                                  OPTIONAL,   -- Need R
    q-OffsetFreq                        Q-OffsetRange                                               DEFAULT dB0,
    interFreqNeighCellList              InterFreqNeighCellList                                      OPTIONAL,   -- Need R
    interFreqExcludedCellList           InterFreqExcludedCellList                                   OPTIONAL,   -- Need R
    ...
}

InterFreqCarrierFreqInfo-v1610 ::=  SEQUENCE {
    interFreqNeighCellList-v1610        InterFreqNeighCellList-v1610                                OPTIONAL,    -- Need R
    smtc2-LP-r16                        SSB-MTC2-LP-r16                                             OPTIONAL,    -- Need R
    interFreqAllowedCellList-r16        InterFreqAllowedCellList-r16                                OPTIONAL,    -- Cond SharedSpectrum2
    ssb-PositionQCL-Common-r16          SSB-PositionQCL-Relation-r16                                OPTIONAL,    -- Cond SharedSpectrum
    interFreqCAG-CellList-r16           SEQUENCE (SIZE (1..maxPLMN)) OF InterFreqCAG-CellListPerPLMN-r16   OPTIONAL     -- Need R
}

InterFreqCarrierFreqInfo-v1700 ::=  SEQUENCE {
    interFreqNeighHSDN-CellList-r17     InterFreqNeighHSDN-CellList-r17                             OPTIONAL,    -- Need R
    highSpeedMeasInterFreq-r17          ENUMERATED {true}                                           OPTIONAL,    -- Need R
    redCapAccessAllowed-r17             ENUMERATED {true}                                           OPTIONAL,    -- Need R
    ssb-PositionQCL-Common-r17          SSB-PositionQCL-Relation-r17                                OPTIONAL,    -- Cond SharedSpectrum
    interFreqNeighCellList-v1710        InterFreqNeighCellList-v1710                                OPTIONAL     -- Cond SharedSpectrum2
}

InterFreqCarrierFreqInfo-v1720 ::=  SEQUENCE {
    smtc4list-r17                       SSB-MTC4List-r17                                            OPTIONAL     -- Need R
}

InterFreqCarrierFreqInfo-v1730 ::=  SEQUENCE {
    channelAccessMode2-r17              ENUMERATED {enabled}                                        OPTIONAL     -- Need R
}

InterFreqNeighHSDN-CellList-r17 ::= SEQUENCE (SIZE (1..maxCellInter)) OF PCI-Range

InterFreqNeighCellList ::=          SEQUENCE (SIZE (1..maxCellInter)) OF InterFreqNeighCellInfo

InterFreqNeighCellList-v1610 ::=    SEQUENCE (SIZE (1..maxCellInter)) OF InterFreqNeighCellInfo-v1610

InterFreqNeighCellList-v1710 ::=    SEQUENCE (SIZE (1..maxCellInter)) OF InterFreqNeighCellInfo-v1710

InterFreqNeighCellInfo ::=          SEQUENCE {
    physCellId                          PhysCellId,
    q-OffsetCell                        Q-OffsetRange,
    q-RxLevMinOffsetCell                INTEGER (1..8)                                              OPTIONAL,   -- Need R
    q-RxLevMinOffsetCellSUL             INTEGER (1..8)                                              OPTIONAL,   -- Need R
    q-QualMinOffsetCell                 INTEGER (1..8)                                              OPTIONAL,   -- Need R
    ...
}

InterFreqNeighCellInfo-v1610 ::=    SEQUENCE {
    ssb-PositionQCL-r16                 SSB-PositionQCL-Relation-r16                                OPTIONAL    -- Cond SharedSpectrum2
}

InterFreqNeighCellInfo-v1710 ::=    SEQUENCE {
    ssb-PositionQCL-r17                 SSB-PositionQCL-Relation-r17                                OPTIONAL    -- Cond SharedSpectrum2
}

InterFreqExcludedCellList ::=       SEQUENCE (SIZE (1..maxCellExcluded)) OF PCI-Range

InterFreqAllowedCellList-r16 ::=    SEQUENCE (SIZE (1..maxCellAllowed)) OF PCI-Range

InterFreqCAG-CellListPerPLMN-r16 ::= SEQUENCE {
    plmn-IdentityIndex-r16              INTEGER (1..maxPLMN),
    cag-CellList-r16                    SEQUENCE (SIZE (1..maxCAG-Cell-r16)) OF PCI-Range
}

-- TAG-SIB4-STOP
-- ASN1STOP

-- ASN1START

-- TAG-SIB5-START

SIB5 ::=                            SEQUENCE {
    carrierFreqListEUTRA                CarrierFreqListEUTRA                        OPTIONAL,       -- Need R
    t-ReselectionEUTRA                  T-Reselection,
    t-ReselectionEUTRA-SF               SpeedStateScaleFactors                      OPTIONAL,       -- Need S
    lateNonCriticalExtension            OCTET STRING                                OPTIONAL,
    ...,
    [[
    carrierFreqListEUTRA-v1610      CarrierFreqListEUTRA-v1610                      OPTIONAL        -- Need R
    ]],
    [[
    carrierFreqListEUTRA-v1700      CarrierFreqListEUTRA-v1700                      OPTIONAL,       -- Need R
    idleModeMeasVoiceFallback-r17   ENUMERATED{true}                                OPTIONAL        -- Need R
    ]]
}

CarrierFreqListEUTRA ::=            SEQUENCE (SIZE (1..maxEUTRA-Carrier)) OF CarrierFreqEUTRA

CarrierFreqListEUTRA-v1610 ::=      SEQUENCE (SIZE (1..maxEUTRA-Carrier)) OF CarrierFreqEUTRA-v1610

CarrierFreqListEUTRA-v1700 ::=      SEQUENCE (SIZE (1..maxEUTRA-Carrier)) OF CarrierFreqEUTRA-v1700

CarrierFreqEUTRA ::=                SEQUENCE {
    carrierFreq                         ARFCN-ValueEUTRA,
    eutra-multiBandInfoList             EUTRA-MultiBandInfoList                     OPTIONAL,       -- Need R
    eutra-FreqNeighCellList             EUTRA-FreqNeighCellList                     OPTIONAL,       -- Need R
    eutra-ExcludedCellList              EUTRA-FreqExcludedCellList                  OPTIONAL,       -- Need R
    allowedMeasBandwidth                EUTRA-AllowedMeasBandwidth,
    presenceAntennaPort1                EUTRA-PresenceAntennaPort1,
    cellReselectionPriority             CellReselectionPriority                     OPTIONAL,       -- Need R
    cellReselectionSubPriority          CellReselectionSubPriority                  OPTIONAL,       -- Need R
    threshX-High                        ReselectionThreshold,
    threshX-Low                         ReselectionThreshold,
    q-RxLevMin                          INTEGER (-70..-22),
    q-QualMin                           INTEGER (-34..-3),
    p-MaxEUTRA                          INTEGER (-30..33),
    threshX-Q                           SEQUENCE {
        threshX-HighQ                       ReselectionThresholdQ,
        threshX-LowQ                        ReselectionThresholdQ
    }                                                                               OPTIONAL        -- Cond RSRQ
}

CarrierFreqEUTRA-v1610 ::= SEQUENCE {
    highSpeedEUTRACarrier-r16       ENUMERATED {true}                               OPTIONAL        -- Need R
}

CarrierFreqEUTRA-v1700 ::=          SEQUENCE {
    eutra-FreqNeighHSDN-CellList-r17    EUTRA-FreqNeighHSDN-CellList-r17            OPTIONAL        -- Need R
}

EUTRA-FreqNeighHSDN-CellList-r17 ::= SEQUENCE (SIZE (1..maxCellEUTRA)) OF EUTRA-PhysCellIdRange

EUTRA-FreqExcludedCellList ::=      SEQUENCE (SIZE (1..maxEUTRA-CellExcluded)) OF EUTRA-PhysCellIdRange

EUTRA-FreqNeighCellList ::=         SEQUENCE (SIZE (1..maxCellEUTRA)) OF EUTRA-FreqNeighCellInfo

EUTRA-FreqNeighCellInfo ::=         SEQUENCE {
    physCellId                          EUTRA-PhysCellId,
    dummy                               EUTRA-Q-OffsetRange,
    q-RxLevMinOffsetCell                INTEGER (1..8)                              OPTIONAL,       -- Need R
    q-QualMinOffsetCell                 INTEGER (1..8)                              OPTIONAL        -- Need R
}

-- TAG-SIB5-STOP
-- ASN1STOP

-- ASN1START

-- TAG-SIB6-START

SIB6 ::=                            SEQUENCE {
    messageIdentifier                   BIT STRING (SIZE (16)),
    serialNumber                        BIT STRING (SIZE (16)),
    warningType                         OCTET STRING (SIZE (2)),
    lateNonCriticalExtension            OCTET STRING                                OPTIONAL,
    ...
}

-- TAG-SIB6-STOP
-- ASN1STOP

-- ASN1START

-- TAG-SIB7-START

SIB7 ::=                            SEQUENCE {
    messageIdentifier                   BIT STRING (SIZE (16)),
    serialNumber                        BIT STRING (SIZE (16)),
    warningMessageSegmentType           ENUMERATED {notLastSegment, lastSegment},
    warningMessageSegmentNumber         INTEGER (0..63),
    warningMessageSegment               OCTET STRING,
    dataCodingScheme                    OCTET STRING (SIZE (1))                     OPTIONAL,   -- Cond Segment1
    lateNonCriticalExtension            OCTET STRING                                OPTIONAL,
    ...
}

-- TAG-SIB7-STOP
-- ASN1STOP

-- ASN1START

-- TAG-SIB8-START

SIB8 ::=                        SEQUENCE {
    messageIdentifier               BIT STRING (SIZE (16)),
    serialNumber                    BIT STRING (SIZE (16)),
    warningMessageSegmentType       ENUMERATED {notLastSegment, lastSegment},
    warningMessageSegmentNumber     INTEGER (0..63),
    warningMessageSegment           OCTET STRING,
    dataCodingScheme                OCTET STRING (SIZE (1))                         OPTIONAL,   -- Cond Segment1
    warningAreaCoordinatesSegment   OCTET STRING                                    OPTIONAL,   -- Need R
    lateNonCriticalExtension        OCTET STRING                                    OPTIONAL,
    ...
}

-- TAG-SIB8-STOP
-- ASN1STOP

-- ASN1START

-- TAG-SIB9-START

SIB9 ::=                            SEQUENCE {
    timeInfo                            SEQUENCE {
        timeInfoUTC                         INTEGER (0..549755813887),
        dayLightSavingTime                  BIT STRING (SIZE (2))                   OPTIONAL,   -- Need R
        leapSeconds                         INTEGER (-127..128)                     OPTIONAL,   -- Need R
        localTimeOffset                     INTEGER (-63..64)                       OPTIONAL    -- Need R
    }                                                                               OPTIONAL,   -- Need R
    lateNonCriticalExtension            OCTET STRING                                OPTIONAL,
    ...,
     [[
    referenceTimeInfo-r16           ReferenceTimeInfo-r16                           OPTIONAL    -- Need R
    ]]
}

-- TAG-SIB9-STOP
-- ASN1STOP

-- ASN1START

-- TAG-SIB10-START

SIB10-r16 ::=               SEQUENCE {
    hrnn-List-r16               HRNN-List-r16                                   OPTIONAL,   -- Need R
    lateNonCriticalExtension    OCTET STRING                                    OPTIONAL,
    ...
}

HRNN-List-r16 ::=           SEQUENCE (SIZE (1..maxNPN-r16)) OF HRNN-r16

HRNN-r16 ::=                SEQUENCE {
    hrnn-r16                    OCTET STRING (SIZE(1.. maxHRNN-Len-r16))        OPTIONAL   -- Need R
}

-- TAG-SIB10-STOP
-- ASN1STOP

-- ASN1START

-- TAG-SIB11-START

SIB11-r16 ::=                    SEQUENCE {
    measIdleConfigSIB-r16            MeasIdleConfigSIB-r16                       OPTIONAL, -- Need S
    lateNonCriticalExtension         OCTET STRING                                OPTIONAL,
    ...
}

-- TAG-SIB11-STOP
-- ASN1STOP

-- ASN1START

-- TAG-SIB12-START

SIB12-r16 ::=                 SEQUENCE {
    segmentNumber-r16             INTEGER (0..63),
    segmentType-r16               ENUMERATED {notLastSegment, lastSegment},
    segmentContainer-r16          OCTET STRING
}

SIB12-IEs-r16 ::=             SEQUENCE {
    sl-ConfigCommonNR-r16         SL-ConfigCommonNR-r16,
    lateNonCriticalExtension      OCTET STRING                   OPTIONAL,
    ...,
    [[
    sl-DRX-ConfigCommonGC-BC-r17         SL-DRX-ConfigGC-BC-r17                                                 OPTIONAL,    -- Need R
    sl-DiscConfigCommon-r17              SL-DiscConfigCommon-r17                                                OPTIONAL,    -- Need R
    sl-L2U2N-Relay-r17                   ENUMERATED {enabled}                                                   OPTIONAL,    -- Need R
    sl-NonRelayDiscovery-r17             ENUMERATED {enabled}                                                   OPTIONAL,    -- Need R
    sl-L3U2N-RelayDiscovery-r17          ENUMERATED {enabled}                                                   OPTIONAL,    -- Need R
    sl-TimersAndConstantsRemoteUE-r17    UE-TimersAndConstantsRemoteUE-r17                                      OPTIONAL     -- Need R
    ]]
}

SL-ConfigCommonNR-r16 ::=        SEQUENCE {
    sl-FreqInfoList-r16                  SEQUENCE (SIZE (1..maxNrofFreqSL-r16)) OF SL-FreqConfigCommon-r16      OPTIONAL,    -- Need R
    sl-UE-SelectedConfig-r16             SL-UE-SelectedConfig-r16                                               OPTIONAL,    -- Need R
    sl-NR-AnchorCarrierFreqList-r16      SL-NR-AnchorCarrierFreqList-r16                                        OPTIONAL,    -- Need R
    sl-EUTRA-AnchorCarrierFreqList-r16   SL-EUTRA-AnchorCarrierFreqList-r16                                     OPTIONAL,    -- Need R
    sl-RadioBearerConfigList-r16         SEQUENCE (SIZE (1..maxNrofSLRB-r16)) OF SL-RadioBearerConfig-r16       OPTIONAL,    -- Need R
    sl-RLC-BearerConfigList-r16          SEQUENCE (SIZE (1..maxSL-LCID-r16)) OF SL-RLC-BearerConfig-r16         OPTIONAL,    -- Need R
    sl-MeasConfigCommon-r16              SL-MeasConfigCommon-r16                                                OPTIONAL,    -- Need R
    sl-CSI-Acquisition-r16               ENUMERATED {enabled}                                                   OPTIONAL,    -- Need R
    sl-OffsetDFN-r16                     INTEGER (1..1000)                                                      OPTIONAL,    -- Need R
    t400-r16                             ENUMERATED {ms100, ms200, ms300, ms400, ms600, ms1000, ms1500, ms2000} OPTIONAL,    -- Need R
    sl-MaxNumConsecutiveDTX-r16          ENUMERATED {n1, n2, n3, n4, n6, n8, n16, n32}                          OPTIONAL,    -- Need R
    sl-SSB-PriorityNR-r16                INTEGER (1..8)                                                         OPTIONAL     -- Need R
}

SL-NR-AnchorCarrierFreqList-r16 ::=  SEQUENCE (SIZE (1..maxFreqSL-NR-r16)) OF ARFCN-ValueNR

SL-EUTRA-AnchorCarrierFreqList-r16 ::= SEQUENCE (SIZE (1..maxFreqSL-EUTRA-r16)) OF ARFCN-ValueEUTRA

SL-DiscConfigCommon-r17 ::=   SEQUENCE {
    sl-RelayUE-ConfigCommon-r17   SL-RelayUE-Config-r17,
    sl-RemoteUE-ConfigCommon-r17  SL-RemoteUE-Config-r17
}

-- TAG-SIB12-STOP
-- ASN1STOP

-- ASN1START

-- TAG-SIB13-START

SIB13-r16 ::=                       SEQUENCE {
    sl-V2X-ConfigCommon-r16             OCTET STRING,
    dummy                               OCTET STRING,
    tdd-Config-r16                      OCTET STRING,
    lateNonCriticalExtension            OCTET STRING                          OPTIONAL,
    ...
}

-- TAG-SIB13-STOP
-- ASN1STOP

-- ASN1START

-- TAG-SIB14-START

SIB14-r16 ::=                      SEQUENCE {
    sl-V2X-ConfigCommonExt-r16         OCTET STRING,
    lateNonCriticalExtension           OCTET STRING                          OPTIONAL,
    ...
}

-- TAG-SIB14-STOP
-- ASN1STOP

-- ASN1START

-- TAG-SIB15-START

SIB15-r17 ::=                          SEQUENCE {
    commonPLMNsWithDisasterCondition-r17   SEQUENCE (SIZE (1..maxPLMN)) OF PLMN-Identity                   OPTIONAL,  -- Need R
    applicableDisasterInfoList-r17         SEQUENCE (SIZE (1..maxPLMN)) OF ApplicableDisasterInfo-r17      OPTIONAL,  -- Need R
    lateNonCriticalExtension               OCTET STRING                                                    OPTIONAL,
    ...
}

ApplicableDisasterInfo-r17 ::= CHOICE {
    noDisasterRoaming-r17             NULL,
    disasterRelatedIndication-r17     NULL,
    commonPLMNs-r17                   NULL,
    dedicatedPLMNs-r17                SEQUENCE (SIZE (1..maxPLMN)) OF PLMN-Identity
}

-- TAG-SIB15-STOP
-- ASN1STOP

-- ASN1START

-- TAG-SIB16-START

SIB16-r17 ::=                    SEQUENCE {
    freqPriorityListSlicing-r17      FreqPriorityListSlicing-r17              OPTIONAL,  -- Need R
    lateNonCriticalExtension         OCTET STRING                             OPTIONAL,
    ...
}

-- TAG-SIB16-STOP
-- ASN1STOP

-- ASN1START

-- TAG-SIB17-START

SIB17-r17 ::=               SEQUENCE {
    segmentNumber-r17           INTEGER (0..63),
    segmentType-r17             ENUMERATED {notLastSegment, lastSegment},
    segmentContainer-r17        OCTET STRING
}

SIB17-IEs-r17 ::=           SEQUENCE {
    trs-ResourceSetConfig-r17   SEQUENCE (SIZE (1..maxNrofTRS-ResourceSets-r17)) OF TRS-ResourceSet-r17,
    validityDuration-r17        ENUMERATED {t1, t2, t4, t8, t16, t32, t64, t128, t256, t512, infinity, spare5, spare4, spare3, spare2,
                                            spare1}                                                            OPTIONAL,  -- Need S
    lateNonCriticalExtension    OCTET STRING                                                                   OPTIONAL,
    ...
}

TRS-ResourceSet-r17 ::=                SEQUENCE {
    powerControlOffsetSS-r17               ENUMERATED {db-3, db0, db3, db6},
    scramblingID-Info-r17                  CHOICE {
        scramblingIDforCommon-r17              ScramblingId,
        scramblingIDperResourceListWith2-r17   SEQUENCE (SIZE (2)) OF ScramblingId,
        scramblingIDperResourceListWith4-r17   SEQUENCE (SIZE (4)) OF ScramblingId,
    ...
    },
    firstOFDMSymbolInTimeDomain-r17            INTEGER (0..9),
    startingRB-r17                             INTEGER (0..maxNrofPhysicalResourceBlocks-1),
    nrofRBs-r17                                INTEGER (24..maxNrofPhysicalResourceBlocksPlus1),
    ssb-Index-r17                              SSB-Index,
    periodicityAndOffset-r17                   CHOICE {
        slots10                                    INTEGER (0..9),
        slots20                                    INTEGER (0..19),
        slots40                                    INTEGER (0..39),
        slots80                                    INTEGER (0..79)
    },
    frequencyDomainAllocation-r17              BIT STRING (SIZE (4)),
    indBitID-r17                               INTEGER (0..5),
    nrofResources-r17                          ENUMERATED {n2, n4}
}

-- TAG-SIB17-STOP
-- ASN1STOP

-- ASN1START

-- TAG-SIB18-START

SIB18-r17 ::=               SEQUENCE {
    gin-ElementList-r17         SEQUENCE (SIZE (1..maxGIN-r17)) OF GIN-Element-r17            OPTIONAL,   -- Need R
    gins-PerSNPN-List-r17       SEQUENCE (SIZE (1..maxNPN-r16)) OF GINs-PerSNPN-r17           OPTIONAL,   -- Need S
    lateNonCriticalExtension    OCTET STRING                                                  OPTIONAL,
    ...
}

GIN-Element-r17 ::=         SEQUENCE {
    plmn-Identity-r17           PLMN-Identity,
    nid-List-r17                SEQUENCE (SIZE (1..maxGIN-r17)) OF NID-r16
}

GINs-PerSNPN-r17 ::=        SEQUENCE {
    supportedGINs-r17           BIT STRING (SIZE (1..maxGIN-r17))                             OPTIONAL   -- Need R
}
-- TAG-SIB18-STOP
-- ASN1STOP

-- ASN1START

-- TAG-SIB19-START

SIB19-r17 ::= SEQUENCE {
    ntn-Config-r17                           NTN-Config-r17                                  OPTIONAL,       -- Need R
    t-Service-r17                            INTEGER (0..549755813887)                       OPTIONAL,       -- Need R
    referenceLocation-r17                    ReferenceLocation-r17                           OPTIONAL,       -- Need R
    distanceThresh-r17                       INTEGER(0..65525)                               OPTIONAL,       -- Need R
    ntn-NeighCellConfigList-r17              NTN-NeighCellConfigList-r17                     OPTIONAL,       -- Need R
    lateNonCriticalExtension                 OCTET STRING                                    OPTIONAL,
    ...,
    [[
    ntn-NeighCellConfigListExt-v1720         NTN-NeighCellConfigList-r17                     OPTIONAL        -- Need R
    ]]
}

NTN-NeighCellConfigList-r17 ::=          SEQUENCE (SIZE(1..maxCellNTN-r17))  OF NTN-NeighCellConfig-r17

NTN-NeighCellConfig-r17 ::=              SEQUENCE {
    ntn-Config-r17                           NTN-Config-r17                                  OPTIONAL,       -- Need R
    carrierFreq-r17                          ARFCN-ValueNR                                   OPTIONAL,       -- Need R
    physCellId-r17                           PhysCellId                                      OPTIONAL        -- Need R
}

-- TAG-SIB19-STOP
-- ASN1STOP

-- ASN1START

-- TAG-SIB20-START

SIB20-r17 ::=	SEQUENCE {
    mcch-Config-r17                MCCH-Config-r17,
    cfr-ConfigMCCH-MTCH-r17        CFR-ConfigMCCH-MTCH-r17 OPTIONAL,  -- Need S
    lateNonCriticalExtension       OCTET STRING            OPTIONAL,
    ...
}

MCCH-Config-r17 ::= SEQUENCE {
    mcch-RepetitionPeriodAndOffset-r17   MCCH-RepetitionPeriodAndOffset-r17,
    mcch-WindowStartSlot-r17             INTEGER (0..79),
    mcch-WindowDuration-r17              ENUMERATED {sl2, sl4, sl8, sl10, sl20, sl40,sl80, sl160}     OPTIONAL, -- Need S
    mcch-ModificationPeriod-r17          ENUMERATED {rf2, rf4, rf8, rf16, rf32, rf64, rf128, rf256,
                                         rf512, rf1024, r2048, rf4096, rf8192, rf16384, rf32768, rf65536}
}

MCCH-RepetitionPeriodAndOffset-r17 ::= CHOICE {
    rf1-r17                                INTEGER(0),
    rf2-r17                                INTEGER(0..1),
    rf4-r17                                INTEGER(0..3),
    rf8-r17                                INTEGER(0..7),
    rf16-r17                               INTEGER(0..15),
    rf32-r17                               INTEGER(0..31),
    rf64-r17                               INTEGER(0..63),
    rf128-r17                              INTEGER(0..127),
    rf256-r17                              INTEGER(0..255)
}

-- TAG-SIB20-STOP
-- ASN1STOP

-- ASN1START

-- TAG-SIB21-START

SIB21-r17 ::= SEQUENCE {
    mbs-FSAI-IntraFreq-r17                   MBS-FSAI-List-r17                OPTIONAL,  -- Need R
    mbs-FSAI-InterFreqList-r17               MBS-FSAI-InterFreqList-r17       OPTIONAL,  -- Need R
    lateNonCriticalExtension                 OCTET STRING                     OPTIONAL,
    ...
}

MBS-FSAI-List-r17 ::= SEQUENCE (SIZE (1..maxFSAI-MBS-r17)) OF MBS-FSAI-r17

MBS-FSAI-InterFreqList-r17 ::= SEQUENCE (SIZE (1..maxFreq)) OF MBS-FSAI-InterFreq-r17

MBS-FSAI-InterFreq-r17 ::= SEQUENCE {
    dl-CarrierFreq-r17         ARFCN-ValueNR,
    mbs-FSAI-List-r17          MBS-FSAI-List-r17
}

MBS-FSAI-r17 ::= OCTET STRING (SIZE (3))

-- TAG-SIB21-STOP
-- ASN1STOP

-- ASN1START

-- TAG-POSSYSTEMINFORMATION-R16-IES-START

PosSystemInformation-r16-IEs ::= SEQUENCE {
    posSIB-TypeAndInfo-r16           SEQUENCE (SIZE (1..maxSIB)) OF CHOICE {
        posSib1-1-r16                    SIBpos-r16,
        posSib1-2-r16                    SIBpos-r16,
        posSib1-3-r16                    SIBpos-r16,
        posSib1-4-r16                    SIBpos-r16,
        posSib1-5-r16                    SIBpos-r16,
        posSib1-6-r16                    SIBpos-r16,
        posSib1-7-r16                    SIBpos-r16,
        posSib1-8-r16                    SIBpos-r16,
        posSib2-1-r16                    SIBpos-r16,
        posSib2-2-r16                    SIBpos-r16,
        posSib2-3-r16                    SIBpos-r16,
        posSib2-4-r16                    SIBpos-r16,
        posSib2-5-r16                    SIBpos-r16,
        posSib2-6-r16                    SIBpos-r16,
        posSib2-7-r16                    SIBpos-r16,
        posSib2-8-r16                    SIBpos-r16,
        posSib2-9-r16                    SIBpos-r16,
        posSib2-10-r16                   SIBpos-r16,
        posSib2-11-r16                   SIBpos-r16,
        posSib2-12-r16                   SIBpos-r16,
        posSib2-13-r16                   SIBpos-r16,
        posSib2-14-r16                   SIBpos-r16,
        posSib2-15-r16                   SIBpos-r16,
        posSib2-16-r16                   SIBpos-r16,
        posSib2-17-r16                   SIBpos-r16,
        posSib2-18-r16                   SIBpos-r16,
        posSib2-19-r16                   SIBpos-r16,
        posSib2-20-r16                   SIBpos-r16,
        posSib2-21-r16                   SIBpos-r16,
        posSib2-22-r16                   SIBpos-r16,
        posSib2-23-r16                   SIBpos-r16,
        posSib3-1-r16                    SIBpos-r16,
        posSib4-1-r16                    SIBpos-r16,
        posSib5-1-r16                    SIBpos-r16,
        posSib6-1-r16                    SIBpos-r16,
        posSib6-2-r16                    SIBpos-r16,
        posSib6-3-r16                    SIBpos-r16,
        ... ,
        posSib1-9-v1700                  SIBpos-r16,
        posSib1-10-v1700                 SIBpos-r16,
        posSib2-24-v1700                 SIBpos-r16,
        posSib2-25-v1700                 SIBpos-r16,
        posSib6-4-v1700                  SIBpos-r16,
        posSib6-5-v1700                  SIBpos-r16,
        posSib6-6-v1700                  SIBpos-r16
    },
    lateNonCriticalExtension             OCTET STRING                        OPTIONAL,
    nonCriticalExtension                 SEQUENCE {}                         OPTIONAL
}

-- TAG-POSSYSTEMINFORMATION-R16-IES-STOP
-- ASN1STOP

-- ASN1START

-- TAG-POSSI-SCHEDULINGINFO-START

PosSI-SchedulingInfo-r16 ::=               SEQUENCE {
    posSchedulingInfoList-r16                  SEQUENCE (SIZE (1..maxSI-Message)) OF PosSchedulingInfo-r16,
    posSI-RequestConfig-r16                        SI-RequestConfig                                 OPTIONAL,  -- Cond MSG-1
    posSI-RequestConfigSUL-r16                     SI-RequestConfig                                 OPTIONAL,  -- Cond SUL-MSG-1
    ...,
    [[
    posSI-RequestConfigRedCap-r17                  SI-RequestConfig                                 OPTIONAL   -- Cond REDCAP-MSG-1
    ]]
}

PosSchedulingInfo-r16 ::= SEQUENCE {
    offsetToSI-Used-r16          ENUMERATED {true}                                              OPTIONAL,  -- Need R
    posSI-Periodicity-r16        ENUMERATED {rf8, rf16, rf32, rf64, rf128, rf256, rf512},
    posSI-BroadcastStatus-r16    ENUMERATED {broadcasting, notBroadcasting},
    posSIB-MappingInfo-r16       PosSIB-MappingInfo-r16,
    ...
}

PosSIB-MappingInfo-r16 ::=   SEQUENCE (SIZE (1..maxSIB)) OF PosSIB-Type-r16

PosSIB-Type-r16 ::=          SEQUENCE {
    encrypted-r16                ENUMERATED { true }                                            OPTIONAL,  -- Need R
    gnss-id-r16                  GNSS-ID-r16                                                    OPTIONAL,  -- Need R
    sbas-id-r16                  SBAS-ID-r16                                                    OPTIONAL,  -- Cond GNSS-ID-SBAS
    posSibType-r16               ENUMERATED { posSibType1-1, posSibType1-2, posSibType1-3, posSibType1-4, posSibType1-5, posSibType1-6,
                                              posSibType1-7, posSibType1-8, posSibType2-1, posSibType2-2, posSibType2-3, posSibType2-4,
                                              posSibType2-5, posSibType2-6, posSibType2-7, posSibType2-8, posSibType2-9, posSibType2-10,
                                              posSibType2-11, posSibType2-12, posSibType2-13, posSibType2-14, posSibType2-15,
                                              posSibType2-16, posSibType2-17, posSibType2-18, posSibType2-19, posSibType2-20,
                                              posSibType2-21, posSibType2-22, posSibType2-23, posSibType3-1, posSibType4-1,
                                              posSibType5-1,posSibType6-1, posSibType6-2, posSibType6-3,... },
    areaScope-r16                ENUMERATED {true}                                              OPTIONAL -- Need S
}

GNSS-ID-r16 ::= SEQUENCE {
    gnss-id-r16              ENUMERATED{gps, sbas, qzss, galileo, glonass, bds, ...},
    ...
}

SBAS-ID-r16 ::= SEQUENCE {
    sbas-id-r16              ENUMERATED { waas, egnos, msas, gagan, ...},
    ...
}

-- TAG-POSSI-SCHEDULINGINFO-STOP
-- ASN1STOP

-- ASN1START

-- TAG-SIPOS-START

SIBpos-r16 ::= SEQUENCE {
    assistanceDataSIB-Element-r16        OCTET STRING,
    lateNonCriticalExtension             OCTET STRING                        OPTIONAL,
    ...
}

-- TAG-SIPOS-STOP
-- ASN1STOP

-- ASN1START

-- TAG-ADDITIONALSPECTRUMEMISSION-START

AdditionalSpectrumEmission ::=              INTEGER (0..7)

-- TAG-ADDITIONALSPECTRUMEMISSION-STOP
-- ASN1STOP

-- ASN1START

-- TAG-ALPHA-START

Alpha ::=                       ENUMERATED {alpha0, alpha04, alpha05, alpha06, alpha07, alpha08, alpha09, alpha1}

-- TAG-ALPHA-STOP
-- ASN1STOP

-- ASN1START

-- TAG-AMF-IDENTIFIER-START

AMF-Identifier ::=                      BIT STRING (SIZE (24))

-- TAG-AMF-IDENTIFIER-STOP
-- ASN1STOP

-- ASN1START

-- TAG-ARFCN-VALUEEUTRA-START

ARFCN-ValueEUTRA ::=                INTEGER (0..maxEARFCN)

-- TAG-ARFCN-VALUEEUTRA-STOP
-- ASN1STOP

-- ASN1START

-- TAG-ARFCN-VALUENR-START

ARFCN-ValueNR ::=               INTEGER (0..maxNARFCN)

-- TAG-ARFCN-VALUENR-STOP
-- ASN1STOP

-- ASN1START

-- TAG-ARFCN-ValueUTRA-FDD-START

ARFCN-ValueUTRA-FDD-r16 ::=                INTEGER (0..16383)

-- TAG-ARFCN-ValueUTRA-FDD-STOP
-- ASN1STOP

-- ASN1START

-- TAG-AVAILABILITYCOMBINATIONSPERCELL-START

AvailabilityCombinationsPerCell-r16 ::=     SEQUENCE {
    availabilityCombinationsPerCellIndex-r16     AvailabilityCombinationsPerCellIndex-r16,
    iab-DU-CellIdentity-r16                      CellIdentity,
    positionInDCI-AI-r16                         INTEGER(0..maxAI-DCI-PayloadSize-1-r16)                              OPTIONAL, -- Need M
    availabilityCombinations-r16                 SEQUENCE (SIZE (1..maxNrofAvailabilityCombinationsPerSet-r16)) OF AvailabilityCombination-r16,
    ...,
    [[
    availabilityCombinationsRB-Groups-r17   SEQUENCE (SIZE (1..maxNrofAvailabilityCombinationsPerSet-r16)) OF AvailabilityCombinationRB-Groups-r17    OPTIONAL -- Need M
    ]],
    [[
    positionInDCI-AI-RBGroups-v1720              INTEGER(0..maxAI-DCI-PayloadSize-1-r16)                              OPTIONAL -- Need M
    ]]
}

AvailabilityCombinationsPerCellIndex-r16 ::= INTEGER(0..maxNrofDUCells-r16)

AvailabilityCombination-r16 ::=         SEQUENCE {
    availabilityCombinationId-r16           AvailabilityCombinationId-r16,
    resourceAvailability-r16                SEQUENCE (SIZE (1..maxNrofResourceAvailabilityPerCombination-r16)) OF INTEGER (0..7)
}

AvailabilityCombinationId-r16 ::=       INTEGER (0..maxNrofAvailabilityCombinationsPerSet-1-r16)

AvailabilityCombinationRB-Groups-r17 ::= SEQUENCE {
    availabilityCombinationId-r17    AvailabilityCombinationId-r16,
    rb-SetGroups-r17                  SEQUENCE (SIZE (1..maxNrofRB-SetGroups-r17)) OF RB-SetGroup-r17                           OPTIONAL, -- Need R
    resourceAvailability-r17         SEQUENCE (SIZE (1..maxNrofResourceAvailabilityPerCombination-r16)) OF INTEGER (0..7)    OPTIONAL -- Need R
}

RB-SetGroup-r17 ::=       SEQUENCE {
    resourceAvailability-r17  SEQUENCE (SIZE (1..maxNrofResourceAvailabilityPerCombination-r16)) OF INTEGER (0..7) OPTIONAL, -- Need R
    rb-Sets-r17                SEQUENCE (SIZE (1..maxNrofRB-Sets-r17)) OF INTEGER (0..7)                             OPTIONAL  -- Need R
}

-- TAG-AVAILABILITYCOMBINATIONSPERCELL-STOP
-- ASN1STOP

-- ASN1START

-- TAG-AVAILABILITYINDICATOR-START

AvailabilityIndicator-r16 ::=    SEQUENCE {
    ai-RNTI-r16                      AI-RNTI-r16,
    dci-PayloadSizeAI-r16            INTEGER (1..maxAI-DCI-PayloadSize-r16),
    availableCombToAddModList-r16    SEQUENCE (SIZE(1..maxNrofDUCells-r16)) OF AvailabilityCombinationsPerCell-r16          OPTIONAL, -- Need N
    availableCombToReleaseList-r16   SEQUENCE (SIZE(1..maxNrofDUCells-r16)) OF AvailabilityCombinationsPerCellIndex-r16     OPTIONAL, -- Need N
    ...
}

AI-RNTI-r16 ::=                      RNTI-Value

-- TAG-AVAILABILITYINDICATOR-STOP
-- ASN1STOP

-- ASN1START

-- TAG-BAPROUTINGID-START

BAP-RoutingID-r16 ::=        SEQUENCE{
    bap-Address-r16              BIT STRING (SIZE (10)),
    bap-PathId-r16               BIT STRING (SIZE (10))
}

-- TAG-BAPROUTINGID-STOP
-- ASN1STOP

-- ASN1START

-- TAG-BEAMFAILURERECOVERYCONFIG-START

BeamFailureRecoveryConfig ::=       SEQUENCE {
    rootSequenceIndex-BFR               INTEGER (0..137)                                                          OPTIONAL, -- Need M
    rach-ConfigBFR                      RACH-ConfigGeneric                                                        OPTIONAL, -- Need M
    rsrp-ThresholdSSB                   RSRP-Range                                                                OPTIONAL, -- Need M
    candidateBeamRSList                 SEQUENCE (SIZE(1..maxNrofCandidateBeams)) OF PRACH-ResourceDedicatedBFR   OPTIONAL, -- Need M
    ssb-perRACH-Occasion                ENUMERATED {oneEighth, oneFourth, oneHalf, one, two,
                                                       four, eight, sixteen}                                      OPTIONAL, -- Need M
    ra-ssb-OccasionMaskIndex            INTEGER (0..15)                                                           OPTIONAL, -- Need M
    recoverySearchSpaceId               SearchSpaceId                                                             OPTIONAL, -- Need R
    ra-Prioritization                   RA-Prioritization                                                         OPTIONAL, -- Need R
    beamFailureRecoveryTimer            ENUMERATED {ms10, ms20, ms40, ms60, ms80, ms100, ms150, ms200}            OPTIONAL, -- Need M
    ...,
    [[
    msg1-SubcarrierSpacing              SubcarrierSpacing                                                         OPTIONAL  -- Need M
    ]],
    [[
    ra-PrioritizationTwoStep-r16        RA-Prioritization                                                         OPTIONAL, -- Need R
    candidateBeamRSListExt-v1610        SetupRelease{ CandidateBeamRSListExt-r16 }                                OPTIONAL  -- Need M
    ]],
    [[
    spCell-BFR-CBRA-r16                 ENUMERATED {true}                                                         OPTIONAL  -- Need R
    ]]
}

PRACH-ResourceDedicatedBFR ::=      CHOICE {
    ssb                                 BFR-SSB-Resource,
    csi-RS                              BFR-CSIRS-Resource
}

BFR-SSB-Resource ::=                SEQUENCE {
    ssb                                 SSB-Index,
    ra-PreambleIndex                    INTEGER (0..63),
    ...
}

BFR-CSIRS-Resource ::=              SEQUENCE {
    csi-RS                              NZP-CSI-RS-ResourceId,
    ra-OccasionList                     SEQUENCE (SIZE(1..maxRA-OccasionsPerCSIRS)) OF INTEGER (0..maxRA-Occasions-1)   OPTIONAL,   -- Need R
    ra-PreambleIndex                    INTEGER (0..63)                                                                 OPTIONAL,   -- Need R
    ...
}

CandidateBeamRSListExt-r16 ::=       SEQUENCE (SIZE(1.. maxNrofCandidateBeamsExt-r16)) OF PRACH-ResourceDedicatedBFR

-- TAG-BEAMFAILURERECOVERYCONFIG-STOP
-- ASN1STOP

-- ASN1START

-- TAG-BEAMFAILURERECOVERYRSCONFIG-START

BeamFailureRecoveryRSConfig-r16 ::= SEQUENCE {
    rsrp-ThresholdBFR-r16               RSRP-Range                                                               OPTIONAL, -- Need M
    candidateBeamRS-List-r16            SEQUENCE (SIZE(1..maxNrofCandidateBeams-r16)) OF CandidateBeamRS-r16     OPTIONAL, -- Need M
    ...,
    [[
    candidateBeamRS-List2-r17            SEQUENCE (SIZE(1..maxNrofCandidateBeams-r16)) OF CandidateBeamRS-r16     OPTIONAL  -- Need R
    ]]
}

-- TAG-BEAMFAILURERECOVERYRSCONFIG-STOP
-- ASN1STOP

-- ASN1START

-- TAG-BETAOFFSETS-START

BetaOffsets ::=                     SEQUENCE {
    betaOffsetACK-Index1                INTEGER(0..31)                                                          OPTIONAL, -- Need S
    betaOffsetACK-Index2                INTEGER(0..31)                                                          OPTIONAL, -- Need S
    betaOffsetACK-Index3                INTEGER(0..31)                                                          OPTIONAL, -- Need S
    betaOffsetCSI-Part1-Index1          INTEGER(0..31)                                                          OPTIONAL, -- Need S
    betaOffsetCSI-Part1-Index2          INTEGER(0..31)                                                          OPTIONAL, -- Need S
    betaOffsetCSI-Part2-Index1          INTEGER(0..31)                                                          OPTIONAL, -- Need S
    betaOffsetCSI-Part2-Index2          INTEGER(0..31)                                                          OPTIONAL  -- Need S
}

-- TAG-BETAOFFSETS-STOP
-- ASN1STOP

-- ASN1START

-- TAG-BETAOFFSETSCROSSPRI-START

BetaOffsetsCrossPri-r17 ::= SEQUENCE (SIZE(3)) OF INTEGER(0..31)

-- TAG-BETAOFFSETSCROSSPRI-STOP
-- ASN1STOP

-- ASN1START

-- TAG-BHLOGICALCHANNELIDENTITY-START

BH-LogicalChannelIdentity-r16 ::=    CHOICE {
    bh-LogicalChannelIdentity-r16        LogicalChannelIdentity,
    bh-LogicalChannelIdentityExt-r16     BH-LogicalChannelIdentity-Ext-r16
}

-- TAG-BHLOGICALCHANNELIDENTITY-STOP
-- ASN1STOP

-- ASN1START

-- TAG-BHLOGICALCHANNELIDENTITYEXT-START

BH-LogicalChannelIdentity-Ext-r16 ::=   INTEGER (320.. maxLC-ID-Iab-r16)

-- TAG-BHLOGICALCHANNELIDENTITYEXT-STOP
-- ASN1STOP

-- ASN1START

-- TAG-BHRLCCHANNELCONFIG-START

BH-RLC-ChannelConfig-r16 ::=      SEQUENCE {
    bh-LogicalChannelIdentity-r16    BH-LogicalChannelIdentity-r16     OPTIONAL,   -- Cond LCH-SetupOnly
    bh-RLC-ChannelID-r16             BH-RLC-ChannelID-r16,
    reestablishRLC-r16               ENUMERATED {true}                 OPTIONAL,   -- Need N
    rlc-Config-r16                   RLC-Config                        OPTIONAL,   -- Cond LCH-Setup
    mac-LogicalChannelConfig-r16     LogicalChannelConfig              OPTIONAL,   -- Cond LCH-Setup
    ...
}

-- TAG-BHRLCCHANNELCONFIG-STOP
-- ASN1STOP

-- ASN1START

-- TAG-BHRLCCHANNELID-START

BH-RLC-ChannelID-r16 ::=    BIT STRING (SIZE (16))

-- TAG-BHRLCCHANNELID-STOP
-- ASN1STOP

-- ASN1START

-- TAG-BSR-CONFIG-START

BSR-Config ::=                      SEQUENCE {
    periodicBSR-Timer                   ENUMERATED { sf1, sf5, sf10, sf16, sf20, sf32, sf40, sf64,
                                                        sf80, sf128, sf160, sf320, sf640, sf1280, sf2560, infinity },
    retxBSR-Timer                       ENUMERATED { sf10, sf20, sf40, sf80, sf160, sf320, sf640, sf1280, sf2560,
                                                        sf5120, sf10240, spare5, spare4, spare3, spare2, spare1},
    logicalChannelSR-DelayTimer         ENUMERATED { sf20, sf40, sf64, sf128, sf512, sf1024, sf2560, spare1}                OPTIONAL, -- Need R
    ...
}

-- TAG-BSR-CONFIG-STOP
-- ASN1STOP

-- ASN1START

-- TAG-BWP-START

BWP ::=                             SEQUENCE {
    locationAndBandwidth                INTEGER (0..37949),
    subcarrierSpacing                   SubcarrierSpacing,
    cyclicPrefix                        ENUMERATED { extended }                                                 OPTIONAL    -- Need R
}

-- TAG-BWP-STOP
-- ASN1STOP

-- ASN1START

-- TAG-BWP-DOWNLINK-START

BWP-Downlink ::=                    SEQUENCE {
    bwp-Id                              BWP-Id,
    bwp-Common                          BWP-DownlinkCommon                                         OPTIONAL,   -- Cond SetupOtherBWP
    bwp-Dedicated                       BWP-DownlinkDedicated                                      OPTIONAL,   -- Cond SetupOtherBWP
    ...
}

-- TAG-BWP-DOWNLINK-STOP
-- ASN1STOP

-- ASN1START

-- TAG-BWP-DOWNLINKCOMMON-START

BWP-DownlinkCommon ::=              SEQUENCE {
    genericParameters                   BWP,
    pdcch-ConfigCommon                  SetupRelease { PDCCH-ConfigCommon }                                     OPTIONAL,   -- Need M
    pdsch-ConfigCommon                  SetupRelease { PDSCH-ConfigCommon }                                     OPTIONAL,   -- Need M
    ...
}

-- TAG-BWP-DOWNLINKCOMMON-STOP
-- ASN1STOP

-- ASN1START

-- TAG-BWP-DOWNLINKDEDICATED-START

BWP-DownlinkDedicated ::=           SEQUENCE {
    pdcch-Config                        SetupRelease { PDCCH-Config }                                     OPTIONAL,   -- Need M
    pdsch-Config                        SetupRelease { PDSCH-Config }                                     OPTIONAL,   -- Need M
    sps-Config                          SetupRelease { SPS-Config }                                       OPTIONAL,   -- Need M
    radioLinkMonitoringConfig           SetupRelease { RadioLinkMonitoringConfig }                        OPTIONAL,   -- Need M
    ...,
    [[
    sps-ConfigToAddModList-r16          SPS-ConfigToAddModList-r16                                        OPTIONAL,   -- Need N
    sps-ConfigToReleaseList-r16         SPS-ConfigToReleaseList-r16                                       OPTIONAL,   -- Need N
    sps-ConfigDeactivationStateList-r16 SPS-ConfigDeactivationStateList-r16                               OPTIONAL,   -- Need R
    beamFailureRecoverySCellConfig-r16  SetupRelease {BeamFailureRecoveryRSConfig-r16}                    OPTIONAL,   -- Cond SCellOnly
    sl-PDCCH-Config-r16                 SetupRelease { PDCCH-Config }                                     OPTIONAL,   -- Need M
    sl-V2X-PDCCH-Config-r16             SetupRelease { PDCCH-Config }                                     OPTIONAL    -- Need M
    ]],
    [[
    preConfGapStatus-r17                BIT STRING (SIZE (maxNrofGapId-r17))                              OPTIONAL,   -- Cond PreConfigMG
    beamFailureRecoverySpCellConfig-r17 SetupRelease { BeamFailureRecoveryRSConfig-r16}                   OPTIONAL,   -- Cond SpCellOnly
    harq-FeedbackEnablingforSPSactive-r17 BOOLEAN                                                         OPTIONAL,   -- Need R
    cfr-ConfigMulticast-r17             SetupRelease { CFR-ConfigMulticast-r17 }                          OPTIONAL,   -- Need M
    dl-PPW-PreConfigToAddModList-r17    DL-PPW-PreConfigToAddModList-r17                                  OPTIONAL,   -- Need N
    dl-PPW-PreConfigToReleaseList-r17   DL-PPW-PreConfigToReleaseList-r17                                 OPTIONAL,   -- Need N
    nonCellDefiningSSB-r17              NonCellDefiningSSB-r17                                            OPTIONAL,   -- Need R
    servingCellMO-r17                   MeasObjectId                                                  OPTIONAL -- Cond MeasObject-NCD-SSB
    ]]
}

SPS-ConfigToAddModList-r16 ::=          SEQUENCE (SIZE (1..maxNrofSPS-Config-r16)) OF SPS-Config

SPS-ConfigToReleaseList-r16 ::=         SEQUENCE (SIZE (1..maxNrofSPS-Config-r16)) OF SPS-ConfigIndex-r16

SPS-ConfigDeactivationState-r16 ::=     SEQUENCE (SIZE (1..maxNrofSPS-Config-r16)) OF SPS-ConfigIndex-r16

SPS-ConfigDeactivationStateList-r16 ::= SEQUENCE (SIZE (1..maxNrofSPS-DeactivationState)) OF SPS-ConfigDeactivationState-r16

DL-PPW-PreConfigToAddModList-r17 ::=    SEQUENCE (SIZE (1..maxNrofPPW-Config-r17)) OF DL-PPW-PreConfig-r17

DL-PPW-PreConfigToReleaseList-r17 ::=   SEQUENCE (SIZE (1..maxNrofPPW-Config-r17)) OF DL-PPW-ID-r17

-- TAG-BWP-DOWNLINKDEDICATED-STOP
-- ASN1STOP

-- ASN1START

-- TAG-BWP-ID-START

BWP-Id ::=                          INTEGER (0..maxNrofBWPs)

-- TAG-BWP-ID-STOP
-- ASN1STOP

-- ASN1START

-- TAG-BWP-UPLINK-START

BWP-Uplink ::=                      SEQUENCE {
    bwp-Id                              BWP-Id,
    bwp-Common                          BWP-UplinkCommon                                            OPTIONAL,   -- Cond SetupOtherBWP
    bwp-Dedicated                       BWP-UplinkDedicated                                         OPTIONAL,   -- Cond SetupOtherBWP
    ...
}

-- TAG-BWP-UPLINK-STOP
-- ASN1STOP

-- ASN1START

-- TAG-BWP-UPLINKCOMMON-START

BWP-UplinkCommon ::=                SEQUENCE {
    genericParameters                   BWP,
    rach-ConfigCommon                   SetupRelease { RACH-ConfigCommon }                                      OPTIONAL,   -- Need M
    pusch-ConfigCommon                  SetupRelease { PUSCH-ConfigCommon }                                     OPTIONAL,   -- Need M
    pucch-ConfigCommon                  SetupRelease { PUCCH-ConfigCommon }                                     OPTIONAL,   -- Need M
    ...,
    [[
    rach-ConfigCommonIAB-r16            SetupRelease { RACH-ConfigCommon }                                      OPTIONAL,   -- Need M
    useInterlacePUCCH-PUSCH-r16         ENUMERATED {enabled}                                                    OPTIONAL,   -- Need R
    msgA-ConfigCommon-r16               SetupRelease { MsgA-ConfigCommon-r16 }                                  OPTIONAL    -- Cond SpCellOnly2
    ]],
    [[
    enableRA-PrioritizationForSlicing-r17 BOOLEAN                                                    OPTIONAL, -- Cond RA-PrioSliceAI
    additionalRACH-ConfigList-r17       SetupRelease { AdditionalRACH-ConfigList-r17 }               OPTIONAL, -- Cond SpCellOnly2
    rsrp-ThresholdMsg3-r17              RSRP-Range                                                   OPTIONAL, -- Need R
    numberOfMsg3-RepetitionsList-r17    SEQUENCE (SIZE (4)) OF NumberOfMsg3-Repetitions-r17                  OPTIONAL,  -- Cond Msg3Rep
    mcs-Msg3-Repetitions-r17            SEQUENCE (SIZE (8)) OF INTEGER (0..31)                               OPTIONAL   -- Cond Msg3Rep
    ]]
}

AdditionalRACH-ConfigList-r17 ::=       SEQUENCE (SIZE(1..maxAdditionalRACH-r17)) OF AdditionalRACH-Config-r17

AdditionalRACH-Config-r17 ::=       SEQUENCE {
    rach-ConfigCommon-r17               RACH-ConfigCommon                                                   OPTIONAL,  -- Need R
    msgA-ConfigCommon-r17               MsgA-ConfigCommon-r16                                               OPTIONAL,  -- Need R
    ...
}

NumberOfMsg3-Repetitions-r17 ::=         ENUMERATED {n1, n2, n3, n4, n7, n8, n12, n16}

-- TAG-BWP-UPLINKCOMMON-STOP
-- ASN1STOP

-- ASN1START

-- TAG-BWP-UPLINKDEDICATED-START

BWP-UplinkDedicated ::=             SEQUENCE {
    pucch-Config                        SetupRelease { PUCCH-Config }                                           OPTIONAL,   -- Need M
    pusch-Config                        SetupRelease { PUSCH-Config }                                           OPTIONAL,   -- Need M
    configuredGrantConfig               SetupRelease { ConfiguredGrantConfig }                                  OPTIONAL,   -- Need M
    srs-Config                          SetupRelease { SRS-Config }                                             OPTIONAL,   -- Need M
    beamFailureRecoveryConfig           SetupRelease { BeamFailureRecoveryConfig }                              OPTIONAL,   -- Cond SpCellOnly
    ...,
    [[
    sl-PUCCH-Config-r16                 SetupRelease { PUCCH-Config }                                           OPTIONAL,   -- Need M
    cp-ExtensionC2-r16                  INTEGER (1..28)                                                         OPTIONAL,   -- Need R
    cp-ExtensionC3-r16                  INTEGER (1..28)                                                         OPTIONAL,   -- Need R
    useInterlacePUCCH-PUSCH-r16         ENUMERATED {enabled}                                                    OPTIONAL,   -- Need R
    pucch-ConfigurationList-r16         SetupRelease { PUCCH-ConfigurationList-r16 }                            OPTIONAL,   -- Need M
    lbt-FailureRecoveryConfig-r16       SetupRelease { LBT-FailureRecoveryConfig-r16 }                          OPTIONAL,   -- Need M
    configuredGrantConfigToAddModList-r16                 ConfiguredGrantConfigToAddModList-r16                 OPTIONAL,   -- Need N
    configuredGrantConfigToReleaseList-r16                ConfiguredGrantConfigToReleaseList-r16                OPTIONAL,   -- Need N
    configuredGrantConfigType2DeactivationStateList-r16   ConfiguredGrantConfigType2DeactivationStateList-r16   OPTIONAL    -- Need R
    ]],
    [[
    ul-TCI-StateList-r17                CHOICE {
        explicitlist                        SEQUENCE {
            ul-TCI-ToAddModList-r17             SEQUENCE (SIZE (1..maxUL-TCI-r17)) OF TCI-UL-State-r17          OPTIONAL,   -- Need N
            ul-TCI-ToReleaseList-r17            SEQUENCE (SIZE (1..maxUL-TCI-r17)) OF TCI-UL-StateId-r17        OPTIONAL    -- Need N
        },
        unifiedTCI-StateRef-r17         ServingCellAndBWP-Id-r17
    }                                                                                                           OPTIONAL,  -- Need R
    ul-powerControl-r17                Uplink-powerControlId-r17                                                OPTIONAL,  -- Cond NoTCI-PC
    pucch-ConfigurationListMulticast1-r17  SetupRelease { PUCCH-ConfigurationList-r16 }                         OPTIONAL,  -- Need M
    pucch-ConfigurationListMulticast2-r17  SetupRelease { PUCCH-ConfigurationList-r16 }                         OPTIONAL   -- Need M
    ]],
    [[
    pucch-ConfigMulticast1-r17          SetupRelease { PUCCH-Config }                                           OPTIONAL,  -- Need M
    pucch-ConfigMulticast2-r17          SetupRelease { PUCCH-Config }                                           OPTIONAL   -- Need M
    ]],
    [[
    pathlossReferenceRSToAddModList-r17     SEQUENCE (SIZE (1..maxNrofPathlossReferenceRSs-r17)) OF PathlossReferenceRS-r17
                                                                                                                OPTIONAL, -- Need N
    pathlossReferenceRSToReleaseList-r17    SEQUENCE (SIZE (1..maxNrofPathlossReferenceRSs-r17)) OF PathlossReferenceRS-Id-r17
                                                                                                                OPTIONAL  -- Need N
    ]]
}

ConfiguredGrantConfigToAddModList-r16 ::= SEQUENCE (SIZE (1..maxNrofConfiguredGrantConfig-r16)) OF ConfiguredGrantConfig

ConfiguredGrantConfigToReleaseList-r16 ::= SEQUENCE (SIZE (1..maxNrofConfiguredGrantConfig-r16)) OF ConfiguredGrantConfigIndex-r16

ConfiguredGrantConfigType2DeactivationState-r16 ::= SEQUENCE (SIZE (1..maxNrofConfiguredGrantConfig-r16)) OF ConfiguredGrantConfigIndex-r16

ConfiguredGrantConfigType2DeactivationStateList-r16 ::=
                             SEQUENCE (SIZE (1..maxNrofCG-Type2DeactivationState)) OF ConfiguredGrantConfigType2DeactivationState-r16

-- TAG-BWP-UPLINKDEDICATED-STOP
-- ASN1STOP

-- ASN1START

-- TAG-CANDIDATEBEAMRS-START


CandidateBeamRS-r16 ::=                SEQUENCE {
    candidateBeamConfig-r16                CHOICE {
        ssb-r16                                SSB-Index,
        csi-RS-r16                             NZP-CSI-RS-ResourceId
    },
    servingCellId                          ServCellIndex                                                            OPTIONAL  -- Need R
}

-- TAG-CANDIDATEBEAMRS-STOP
-- ASN1STOP

-- ASN1START

-- TAG-CELLACCESSRELATEDINFO-START

CellAccessRelatedInfo ::=         SEQUENCE {
    plmn-IdentityInfoList               PLMN-IdentityInfoList,
    cellReservedForOtherUse             ENUMERATED {true}             OPTIONAL,   -- Need R
    ...,
    [[
    cellReservedForFutureUse-r16        ENUMERATED {true}             OPTIONAL,   -- Need R
    npn-IdentityInfoList-r16            NPN-IdentityInfoList-r16      OPTIONAL    -- Need R
    ]],
    [[
    snpn-AccessInfoList-r17             SEQUENCE (SIZE (1..maxNPN-r16)) OF SNPN-AccessInfo-r17    OPTIONAL    -- Need R
    ]]
}

SNPN-AccessInfo-r17 ::=         SEQUENCE {
    extCH-Supported-r17                 ENUMERATED {true}             OPTIONAL,   -- Need R
    extCH-WithoutConfigAllowed-r17      ENUMERATED {true}             OPTIONAL,   -- Need R
    onboardingEnabled-r17               ENUMERATED {true}             OPTIONAL,   -- Need R
    imsEmergencySupportForSNPN-r17      ENUMERATED {true}             OPTIONAL    -- Need R
}

-- TAG-CELLACCESSRELATEDINFO-STOP
-- ASN1STOP

-- ASN1START

-- TAG-CELLACCESSRELATEDINFOEUTRA-5GC-START

CellAccessRelatedInfo-EUTRA-5GC ::=    SEQUENCE {
    plmn-IdentityList-eutra-5gc             PLMN-IdentityList-EUTRA-5GC,
    trackingAreaCode-eutra-5gc              TrackingAreaCode,
    ranac-5gc                               RAN-AreaCode                                OPTIONAL,
    cellIdentity-eutra-5gc                  CellIdentity-EUTRA-5GC
}

PLMN-IdentityList-EUTRA-5GC ::=          SEQUENCE (SIZE (1..maxPLMN)) OF PLMN-Identity-EUTRA-5GC

PLMN-Identity-EUTRA-5GC ::=             CHOICE {
    plmn-Identity-EUTRA-5GC                 PLMN-Identity,
    plmn-index                              INTEGER (1..maxPLMN)
}

CellIdentity-EUTRA-5GC ::=              CHOICE {
    cellIdentity-EUTRA                      BIT STRING (SIZE (28)),
    cellId-index                            INTEGER (1..maxPLMN)
}

-- TAG-CELLACCESSRELATEDINFOEUTRA-5GC-STOP
-- ASN1STOP

-- ASN1START

-- TAG-CELLACCESSRELATEDINFOEUTRA-EPC-START

CellAccessRelatedInfo-EUTRA-EPC ::=    SEQUENCE {
    plmn-IdentityList-eutra-epc             PLMN-IdentityList-EUTRA-EPC,
    trackingAreaCode-eutra-epc              BIT STRING (SIZE (16)),
    cellIdentity-eutra-epc                  BIT STRING (SIZE (28))
}

PLMN-IdentityList-EUTRA-EPC ::=          SEQUENCE (SIZE (1..maxPLMN)) OF PLMN-Identity

-- TAG-CELLACCESSRELATEDINFOEUTRA-EPC-STOP
-- ASN1STOP

-- ASN1START

-- TAG-CELLGROUPCONFIG-START

-- Configuration of one Cell-Group:
CellGroupConfig ::=                        SEQUENCE {
    cellGroupId                                CellGroupId,
    rlc-BearerToAddModList                     SEQUENCE (SIZE(1..maxLC-ID)) OF RLC-BearerConfig                        OPTIONAL,   -- Need N
    rlc-BearerToReleaseList                    SEQUENCE (SIZE(1..maxLC-ID)) OF LogicalChannelIdentity                  OPTIONAL,   -- Need N
    mac-CellGroupConfig                        MAC-CellGroupConfig                                                     OPTIONAL,   -- Need M
    physicalCellGroupConfig                    PhysicalCellGroupConfig                                                 OPTIONAL,   -- Need M
    spCellConfig                               SpCellConfig                                                            OPTIONAL,   -- Need M
    sCellToAddModList                          SEQUENCE (SIZE (1..maxNrofSCells)) OF SCellConfig                       OPTIONAL,   -- Need N
    sCellToReleaseList                         SEQUENCE (SIZE (1..maxNrofSCells)) OF SCellIndex                        OPTIONAL,   -- Need N
    ...,
    [[
    reportUplinkTxDirectCurrent                ENUMERATED {true}                                                   OPTIONAL    -- Cond BWP-Reconfig
    ]],
    [[
    bap-Address-r16                            BIT STRING (SIZE (10))                                                  OPTIONAL,   -- Need M
    bh-RLC-ChannelToAddModList-r16             SEQUENCE (SIZE(1..maxBH-RLC-ChannelID-r16)) OF BH-RLC-ChannelConfig-r16 OPTIONAL,   -- Need N
    bh-RLC-ChannelToReleaseList-r16            SEQUENCE (SIZE(1..maxBH-RLC-ChannelID-r16)) OF BH-RLC-ChannelID-r16     OPTIONAL,   -- Need N
    f1c-TransferPath-r16                       ENUMERATED {lte, nr, both}                                              OPTIONAL,   -- Need M
    simultaneousTCI-UpdateList1-r16            SEQUENCE (SIZE (1..maxNrofServingCellsTCI-r16)) OF ServCellIndex        OPTIONAL,   -- Need R
    simultaneousTCI-UpdateList2-r16            SEQUENCE (SIZE (1..maxNrofServingCellsTCI-r16)) OF ServCellIndex        OPTIONAL,   -- Need R
    simultaneousSpatial-UpdatedList1-r16       SEQUENCE (SIZE (1..maxNrofServingCellsTCI-r16)) OF ServCellIndex        OPTIONAL,   -- Need R
    simultaneousSpatial-UpdatedList2-r16       SEQUENCE (SIZE (1..maxNrofServingCellsTCI-r16)) OF ServCellIndex        OPTIONAL,   -- Need R
    uplinkTxSwitchingOption-r16                ENUMERATED {switchedUL, dualUL}                                         OPTIONAL,   -- Need R
    uplinkTxSwitchingPowerBoosting-r16         ENUMERATED {enabled}                                                    OPTIONAL    -- Need R
    ]],
    [[
    reportUplinkTxDirectCurrentTwoCarrier-r16  ENUMERATED {true}                                                       OPTIONAL    -- Need N
    ]],
    [[
    f1c-TransferPathNRDC-r17                   ENUMERATED {mcg, scg, both}                                             OPTIONAL,   -- Need M
    uplinkTxSwitching-2T-Mode-r17              ENUMERATED {enabled}                                                    OPTIONAL,   -- Cond 2Tx
    uplinkTxSwitching-DualUL-TxState-r17       ENUMERATED {oneT, twoT}                                                 OPTIONAL,   -- Cond 2Tx
    uu-RelayRLC-ChannelToAddModList-r17        SEQUENCE (SIZE(1..maxUu-RelayRLC-ChannelID-r17)) OF Uu-RelayRLC-ChannelConfig-r17
                                                                                                                       OPTIONAL,   -- Need N
    uu-RelayRLC-ChannelToReleaseList-r17       SEQUENCE (SIZE(1..maxUu-RelayRLC-ChannelID-r17)) OF Uu-RelayRLC-ChannelID-r17
                                                                                                                       OPTIONAL,   -- Need N
    simultaneousU-TCI-UpdateList1-r17          SEQUENCE (SIZE (1..maxNrofServingCellsTCI-r16)) OF ServCellIndex        OPTIONAL,   -- Need R
    simultaneousU-TCI-UpdateList2-r17          SEQUENCE (SIZE (1..maxNrofServingCellsTCI-r16)) OF ServCellIndex        OPTIONAL,   -- Need R
    simultaneousU-TCI-UpdateList3-r17          SEQUENCE (SIZE (1..maxNrofServingCellsTCI-r16)) OF ServCellIndex        OPTIONAL,   -- Need R
    simultaneousU-TCI-UpdateList4-r17          SEQUENCE (SIZE (1..maxNrofServingCellsTCI-r16)) OF ServCellIndex        OPTIONAL,   -- Need R
    rlc-BearerToReleaseListExt-r17             SEQUENCE (SIZE(1..maxLC-ID)) OF LogicalChannelIdentityExt-r17           OPTIONAL,   -- Need N
    iab-ResourceConfigToAddModList-r17  SEQUENCE (SIZE(1..maxNrofIABResourceConfig-r17)) OF IAB-ResourceConfig-r17   OPTIONAL, -- Need N
    iab-ResourceConfigToReleaseList-r17 SEQUENCE (SIZE(1..maxNrofIABResourceConfig-r17)) OF IAB-ResourceConfigID-r17 OPTIONAL  -- Need N
    ]],
    [[
    reportUplinkTxDirectCurrentMoreCarrier-r17 ReportUplinkTxDirectCurrentMoreCarrier-r17                            OPTIONAL  -- Need N
    ]]
}

-- Serving cell specific MAC and PHY parameters for a SpCell:
SpCellConfig ::=                        SEQUENCE {
    servCellIndex                       ServCellIndex                                               OPTIONAL,   -- Cond SCG
    reconfigurationWithSync             ReconfigurationWithSync                                     OPTIONAL,   -- Cond ReconfWithSync
    rlf-TimersAndConstants              SetupRelease { RLF-TimersAndConstants }                     OPTIONAL,   -- Need M
    rlmInSyncOutOfSyncThreshold         ENUMERATED {n1}                                             OPTIONAL,   -- Need S
    spCellConfigDedicated               ServingCellConfig                                           OPTIONAL,   -- Need M
    ...,
    [[
    lowMobilityEvaluationConnected-r17  SEQUENCE {
        s-SearchDeltaP-Connected-r17        ENUMERATED {dB3, dB6, dB9, dB12, dB15, spare3, spare2, spare1},
        t-SearchDeltaP-Connected-r17        ENUMERATED {s5, s10, s20, s30, s60, s120, s180, s240, s300, spare7, spare6, spare5,
                                                        spare4, spare3, spare2, spare1}
    }                                                                                               OPTIONAL,   -- Need R
    goodServingCellEvaluationRLM-r17    GoodServingCellEvaluation-r17                               OPTIONAL,   -- Need R
    goodServingCellEvaluationBFD-r17    GoodServingCellEvaluation-r17                               OPTIONAL,   -- Need R
    deactivatedSCG-Config-r17           SetupRelease { DeactivatedSCG-Config-r17 }                  OPTIONAL    -- Cond SCG-Opt
    ]]
}

ReconfigurationWithSync ::=         SEQUENCE {
    spCellConfigCommon                  ServingCellConfigCommon                                     OPTIONAL,   -- Need M
    newUE-Identity                      RNTI-Value,
    t304                                ENUMERATED {ms50, ms100, ms150, ms200, ms500, ms1000, ms2000, ms10000},
    rach-ConfigDedicated                CHOICE {
        uplink                              RACH-ConfigDedicated,
        supplementaryUplink                 RACH-ConfigDedicated
    }                                                                                               OPTIONAL,   -- Need N
    ...,
    [[
    smtc                                SSB-MTC                                                     OPTIONAL    -- Need S
    ]],
    [[
    daps-UplinkPowerConfig-r16      DAPS-UplinkPowerConfig-r16                                      OPTIONAL    -- Need N
    ]],
    [[
    sl-PathSwitchConfig-r17         SL-PathSwitchConfig-r17                                         OPTIONAL    -- Cond DirectToIndirect-PathSwitch
    ]]
}

DAPS-UplinkPowerConfig-r16 ::=      SEQUENCE {
    p-DAPS-Source-r16                   P-Max,
    p-DAPS-Target-r16                   P-Max,
    uplinkPowerSharingDAPS-Mode-r16     ENUMERATED {semi-static-mode1, semi-static-mode2, dynamic }
}

SCellConfig ::=                     SEQUENCE {
    sCellIndex                          SCellIndex,
    sCellConfigCommon                   ServingCellConfigCommon                                     OPTIONAL,   -- Cond SCellAdd
    sCellConfigDedicated                ServingCellConfig                                           OPTIONAL,   -- Cond SCellAddMod
    ...,
    [[
    smtc                                SSB-MTC                                                     OPTIONAL    -- Need S
    ]],
    [[
    sCellState-r16                  ENUMERATED {activated}                                          OPTIONAL,   -- Cond SCellAddSync
    secondaryDRX-GroupConfig-r16    ENUMERATED {true}                                               OPTIONAL    -- Cond DRX-Config2
    ]],
    [[
    preConfGapStatus-r17             BIT STRING (SIZE (maxNrofGapId-r17))                           OPTIONAL,   -- Cond PreConfigMG
    goodServingCellEvaluationBFD-r17 GoodServingCellEvaluation-r17                                  OPTIONAL,   -- Need R
    sCellSIB20-r17                   SetupRelease { SCellSIB20-r17 }                                OPTIONAL    -- Need M
    ]]
}

SCellSIB20-r17 ::= OCTET STRING (CONTAINING SystemInformation)

DeactivatedSCG-Config-r17 ::=       SEQUENCE {
    bfd-and-RLM-r17                     BOOLEAN,
    ...
}

GoodServingCellEvaluation-r17 ::=       SEQUENCE {
    offset-r17                              ENUMERATED {db2, db4, db6, db8}                         OPTIONAL   -- Need S
}

SL-PathSwitchConfig-r17 ::=         SEQUENCE {
    targetRelayUE-Identity-r17          SL-SourceIdentity-r17,
    t420-r17                            ENUMERATED {ms50, ms100, ms150, ms200, ms500, ms1000, ms2000, ms10000},
    ...
}

IAB-ResourceConfig-r17 ::=          SEQUENCE {
    iab-ResourceConfigID-r17            IAB-ResourceConfigID-r17,
    slotList-r17                        SEQUENCE (SIZE (1..5120)) OF INTEGER (0..5119)                           OPTIONAL,    -- Need M
    periodicitySlotList-r17             ENUMERATED {ms0p5, ms0p625, ms1, ms1p25, ms2, ms2p5, ms5, ms10, ms20, ms40, ms80, ms160}     OPTIONAL,    -- Need M
    slotListSubcarrierSpacing-r17       SubcarrierSpacing                                                        OPTIONAL,    -- Need M
    ...
}
IAB-ResourceConfigID-r17 ::=        INTEGER(0..maxNrofIABResourceConfig-1-r17)

ReportUplinkTxDirectCurrentMoreCarrier-r17 ::= SEQUENCE (SIZE(1..maxSimultaneousBands)) OF IntraBandCC-CombinationReqList-r17

IntraBandCC-CombinationReqList-r17 ::=   SEQUENCE {
    servCellIndexList-r17                   SEQUENCE (SIZE(1..maxNrofServingCells)) OF ServCellIndex,
    cc-CombinationList-r17                  SEQUENCE (SIZE(1..maxNrofReqComDC-Location-r17)) OF IntraBandCC-Combination-r17
}

IntraBandCC-Combination-r17 ::=      SEQUENCE (SIZE(1.. maxNrofServingCells)) OF CC-State-r17

CC-State-r17 ::=                     SEQUENCE {
    dlCarrier-r17                       CarrierState-r17                             OPTIONAL, -- Need N
    ulCarrier-r17                       CarrierState-r17                             OPTIONAL  -- Need N
}

CarrierState-r17 ::=                 CHOICE {
    deActivated-r17                     NULL,
    activeBWP-r17                       INTEGER (0..maxNrofBWPs)
}

-- TAG-CELLGROUPCONFIG-STOP
-- ASN1STOP

-- ASN1START

-- TAG-CELLGROUPID-START

CellGroupId ::=                             INTEGER (0..maxSecondaryCellGroups)

-- TAG-CELLGROUPID-STOP
-- ASN1STOP

-- ASN1START

-- TAG-CELLIDENTITY-START

CellIdentity ::=                         BIT STRING (SIZE (36))

-- TAG-CELLIDENTITY-STOP
-- ASN1STOP

-- ASN1START

-- TAG-CELLRESELECTIONPRIORITY-START

CellReselectionPriority ::=             INTEGER (0..7)

-- TAG-CELLRESELECTIONPRIORITY-STOP
-- ASN1STOP

-- ASN1START

-- TAG-CELLRESELECTIONSUBPRIORITY-START

CellReselectionSubPriority ::=          ENUMERATED {oDot2, oDot4, oDot6, oDot8}

-- TAG-CELLRESELECTIONSUBPRIORITY-STOP
-- ASN1STOP

-- ASN1START

-- TAG-CFR-CONFIGMULTICAST-START

CFR-ConfigMulticast-r17 ::= SEQUENCE {
    locationAndBandwidthMulticast-r17              INTEGER (0..37949)                       OPTIONAL,    -- Need S
    pdcch-ConfigMulticast-r17                      PDCCH-Config                             OPTIONAL,    -- Need M
    pdsch-ConfigMulticast-r17                      PDSCH-Config                             OPTIONAL,    -- Need M
    sps-ConfigMulticastToAddModList-r17            SPS-ConfigMulticastToAddModList-r17      OPTIONAL,    -- Need N
    sps-ConfigMulticastToReleaseList-r17           SPS-ConfigMulticastToReleaseList-r17     OPTIONAL     -- Need N
}

SPS-ConfigMulticastToAddModList-r17 ::=	SEQUENCE (SIZE (1..8)) OF SPS-Config

SPS-ConfigMulticastToReleaseList-r17 ::= SEQUENCE (SIZE (1..8)) OF SPS-ConfigIndex-r16

-- TAG-CFR-CONFIGMULTICAST-STOP
-- ASN1STOP

-- ASN1START

-- TAG-CGI-INFOEUTRA-START

CGI-InfoEUTRA ::=                        SEQUENCE {
    cgi-info-EPC                            SEQUENCE {
            cgi-info-EPC-legacy                 CellAccessRelatedInfo-EUTRA-EPC,
            cgi-info-EPC-list                   SEQUENCE (SIZE (1..maxPLMN)) OF CellAccessRelatedInfo-EUTRA-EPC             OPTIONAL
    }                                                                                                                       OPTIONAL,
    cgi-info-5GC                            SEQUENCE (SIZE (1..maxPLMN)) OF CellAccessRelatedInfo-EUTRA-5GC             OPTIONAL,
    freqBandIndicator                       FreqBandIndicatorEUTRA,
    multiBandInfoList                       MultiBandInfoListEUTRA                                                      OPTIONAL,
    freqBandIndicatorPriority               ENUMERATED {true}                                                           OPTIONAL
}

-- TAG-CGI-INFOEUTRA-STOP
-- ASN1STOP

-- ASN1START

-- TAG-CGI-INFOEUTRALOGGING-START

CGI-InfoEUTRALogging ::=         SEQUENCE {
    plmn-Identity-eutra-5gc          PLMN-Identity                                          OPTIONAL,
    trackingAreaCode-eutra-5gc       TrackingAreaCode                                       OPTIONAL,
    cellIdentity-eutra-5gc           BIT STRING (SIZE (28))                                 OPTIONAL,
    plmn-Identity-eutra-epc          PLMN-Identity                                          OPTIONAL,
    trackingAreaCode-eutra-epc       BIT STRING (SIZE (16))                                 OPTIONAL,
    cellIdentity-eutra-epc           BIT STRING (SIZE (28))                                 OPTIONAL
}

-- TAG-CGI-INFOEUTRALOGGING-STOP
-- ASN1STOP

-- ASN1START

-- TAG-CGI-INFO-NR-START

CGI-InfoNR ::=                    SEQUENCE {
    plmn-IdentityInfoList               PLMN-IdentityInfoList               OPTIONAL,
    frequencyBandList                   MultiFrequencyBandListNR            OPTIONAL,
    noSIB1                              SEQUENCE {
        ssb-SubcarrierOffset                INTEGER (0..15),
        pdcch-ConfigSIB1                    PDCCH-ConfigSIB1
    }                                                                       OPTIONAL,
    ...,
    [[
    npn-IdentityInfoList-r16            NPN-IdentityInfoList-r16            OPTIONAL
    ]],
    [[
    cellReservedForOtherUse-r16         ENUMERATED {true}                   OPTIONAL
    ]]
}

-- TAG-CGI-INFO-NR-STOP
-- ASN1STOP

-- ASN1START

-- TAG-CGI-INFO-LOGGING-START

CGI-Info-Logging-r16 ::=     SEQUENCE {
    plmn-Identity-r16                    PLMN-Identity,
    cellIdentity-r16                     CellIdentity,
    trackingAreaCode-r16                 TrackingAreaCode               OPTIONAL
}

-- TAG-CGI-INFO-LOGGING-STOP
-- ASN1STOP

-- ASN1START

-- TAG-CLI-RSSI-RANGE-START

CLI-RSSI-Range-r16 ::=                      INTEGER(0..76)

-- TAG-CLI-RSSI-RANGE-STOP
-- ASN1STOP

-- ASN1START

-- TAG-CODEBOOKCONFIG-START

CodebookConfig ::=                                  SEQUENCE {
    codebookType                                        CHOICE {
        type1                                               SEQUENCE {
            subType                                             CHOICE {
                typeI-SinglePanel                                   SEQUENCE {
                    nrOfAntennaPorts                                    CHOICE {
                        two                                                 SEQUENCE {
                            twoTX-CodebookSubsetRestriction                     BIT STRING (SIZE (6))
                        },
                        moreThanTwo                                         SEQUENCE {
                            n1-n2                                               CHOICE {
                                two-one-TypeI-SinglePanel-Restriction               BIT STRING (SIZE (8)),
                                two-two-TypeI-SinglePanel-Restriction               BIT STRING (SIZE (64)),
                                four-one-TypeI-SinglePanel-Restriction              BIT STRING (SIZE (16)),
                                three-two-TypeI-SinglePanel-Restriction             BIT STRING (SIZE (96)),
                                six-one-TypeI-SinglePanel-Restriction               BIT STRING (SIZE (24)),
                                four-two-TypeI-SinglePanel-Restriction              BIT STRING (SIZE (128)),
                                eight-one-TypeI-SinglePanel-Restriction             BIT STRING (SIZE (32)),
                                four-three-TypeI-SinglePanel-Restriction            BIT STRING (SIZE (192)),
                                six-two-TypeI-SinglePanel-Restriction               BIT STRING (SIZE (192)),
                                twelve-one-TypeI-SinglePanel-Restriction            BIT STRING (SIZE (48)),
                                four-four-TypeI-SinglePanel-Restriction             BIT STRING (SIZE (256)),
                                eight-two-TypeI-SinglePanel-Restriction             BIT STRING (SIZE (256)),
                                sixteen-one-TypeI-SinglePanel-Restriction           BIT STRING (SIZE (64))
                            },
                            typeI-SinglePanel-codebookSubsetRestriction-i2      BIT STRING (SIZE (16))        OPTIONAL    -- Need R
                        }
                    },
                    typeI-SinglePanel-ri-Restriction                    BIT STRING (SIZE (8))
                },
                typeI-MultiPanel                                    SEQUENCE {
                    ng-n1-n2                                                CHOICE {
                        two-two-one-TypeI-MultiPanel-Restriction                BIT STRING (SIZE (8)),
                        two-four-one-TypeI-MultiPanel-Restriction               BIT STRING (SIZE (16)),
                        four-two-one-TypeI-MultiPanel-Restriction               BIT STRING (SIZE (8)),
                        two-two-two-TypeI-MultiPanel-Restriction                BIT STRING (SIZE (64)),
                        two-eight-one-TypeI-MultiPanel-Restriction              BIT STRING (SIZE (32)),
                        four-four-one-TypeI-MultiPanel-Restriction              BIT STRING (SIZE (16)),
                        two-four-two-TypeI-MultiPanel-Restriction               BIT STRING (SIZE (128)),
                        four-two-two-TypeI-MultiPanel-Restriction               BIT STRING (SIZE (64))
                    },
                    ri-Restriction                          BIT STRING (SIZE (4))
                }
            },
            codebookMode                                        INTEGER (1..2)

        },
        type2                                   SEQUENCE {
            subType                                 CHOICE {
                typeII                                  SEQUENCE {
                    n1-n2-codebookSubsetRestriction         CHOICE {
                        two-one                                 BIT STRING (SIZE (16)),
                        two-two                                 BIT STRING (SIZE (43)),
                        four-one                                BIT STRING (SIZE (32)),
                        three-two                               BIT STRING (SIZE (59)),
                        six-one                                 BIT STRING (SIZE (48)),
                        four-two                                BIT STRING (SIZE (75)),
                        eight-one                               BIT STRING (SIZE (64)),
                        four-three                              BIT STRING (SIZE (107)),
                        six-two                                 BIT STRING (SIZE (107)),
                        twelve-one                              BIT STRING (SIZE (96)),
                        four-four                               BIT STRING (SIZE (139)),
                        eight-two                               BIT STRING (SIZE (139)),
                        sixteen-one                             BIT STRING (SIZE (128))
                    },
                    typeII-RI-Restriction                   BIT STRING (SIZE (2))
                },
                typeII-PortSelection                    SEQUENCE {
                    portSelectionSamplingSize               ENUMERATED {n1, n2, n3, n4}                   OPTIONAL,       -- Need R
                    typeII-PortSelectionRI-Restriction      BIT STRING (SIZE (2))
                }
            },
            phaseAlphabetSize                       ENUMERATED {n4, n8},
            subbandAmplitude                        BOOLEAN,
            numberOfBeams                           ENUMERATED {two, three, four}
        }
    }
}

CodebookConfig-r16 ::=                SEQUENCE  {
    codebookType                           CHOICE {
        type2                                  SEQUENCE {
            subType                                CHOICE {
                typeII-r16                             SEQUENCE  {
                    n1-n2-codebookSubsetRestriction-r16    CHOICE {
                        two-one                                BIT STRING (SIZE (16)),
                        two-two                                BIT STRING (SIZE (43)),
                        four-one                               BIT STRING (SIZE (32)),
                        three-two                              BIT STRING (SIZE (59)),
                        six-one                                BIT STRING (SIZE (48)),
                        four-two                               BIT STRING (SIZE (75)),
                        eight-one                              BIT STRING (SIZE (64)),
                        four-three                             BIT STRING (SIZE (107)),
                        six-two                                BIT STRING (SIZE (107)),
                        twelve-one                             BIT STRING (SIZE (96)),
                        four-four                              BIT STRING (SIZE (139)),
                        eight-two                              BIT STRING (SIZE (139)),
                        sixteen-one                            BIT STRING (SIZE (128))
                    },
                    typeII-RI-Restriction-r16              BIT STRING (SIZE(4))
                },
                typeII-PortSelection-r16  SEQUENCE {
                    portSelectionSamplingSize-r16          ENUMERATED {n1, n2, n3, n4},
                    typeII-PortSelectionRI-Restriction-r16 BIT STRING (SIZE (4))
                }
            },
        numberOfPMI-SubbandsPerCQI-Subband-r16 INTEGER (1..2),
        paramCombination-r16                   INTEGER (1..8)
        }
    }
}

CodebookConfig-r17 ::=               SEQUENCE  {
    codebookType                          CHOICE   {
        type1                                 SEQUENCE  {
            typeI-SinglePanel-Group1-r17          SEQUENCE {
                nrOfAntennaPorts                      CHOICE {
                    two                                   SEQUENCE {
                        twoTX-CodebookSubsetRestriction1-r17  BIT STRING (SIZE (6))
                    },
                    moreThanTwo                            SEQUENCE {
                        n1-n2                                        CHOICE {
                            two-one-TypeI-SinglePanel-Restriction1-r17       BIT STRING (SIZE (8)),
                            two-two-TypeI-SinglePanel-Restriction1-r17       BIT STRING (SIZE (64)),
                            four-one-TypeI-SinglePanel-Restriction1-r17      BIT STRING (SIZE (16)),
                            three-two-TypeI-SinglePanel-Restriction1-r17     BIT STRING (SIZE (96)),
                            six-one-TypeI-SinglePanel-Restriction1-r17       BIT STRING (SIZE (24)),
                            four-two-TypeI-SinglePanel-Restriction1-r17      BIT STRING (SIZE (128)),
                            eight-one-TypeI-SinglePanel-Restriction1-r17     BIT STRING (SIZE (32)),
                            four-three-TypeI-SinglePanel-Restriction1-r17    BIT STRING (SIZE (192)),
                            six-two-TypeI-SinglePanel-Restriction1-r17       BIT STRING (SIZE (192)),
                            twelve-one-TypeI-SinglePanel-Restriction1-r17    BIT STRING (SIZE (48)),
                            four-four-TypeI-SinglePanel-Restriction1-r17     BIT STRING (SIZE (256)),
                            eight-two-TypeI-SinglePanel-Restriction1-r17     BIT STRING (SIZE (256)),
                            sixteen-one-TypeI-SinglePanel-Restriction1-r17   BIT STRING (SIZE (64))
                        }
                    }
                }
            }                                                                                       OPTIONAL,  -- Need R
            typeI-SinglePanel-Group2-r17           SEQUENCE {
                nrOfAntennaPorts                       CHOICE {
                    two                                    SEQUENCE {
                        twoTX-CodebookSubsetRestriction2-r17   BIT STRING (SIZE (6))
                    },
                    moreThanTwo                            SEQUENCE {
                        n1-n2                                        CHOICE {
                            two-one-TypeI-SinglePanel-Restriction2-r17       BIT STRING (SIZE (8)),
                            two-two-TypeI-SinglePanel-Restriction2-r17       BIT STRING (SIZE (64)),
                            four-one-TypeI-SinglePanel-Restriction2-r17      BIT STRING (SIZE (16)),
                            three-two-TypeI-SinglePanel-Restriction2-r17     BIT STRING (SIZE (96)),
                            six-one-TypeI-SinglePanel-Restriction2-r17       BIT STRING (SIZE (24)),
                            four-two-TypeI-SinglePanel-Restriction2-r17      BIT STRING (SIZE (128)),
                            eight-one-TypeI-SinglePanel-Restriction2-r17     BIT STRING (SIZE (32)),
                            four-three-TypeI-SinglePanel-Restriction2-r17    BIT STRING (SIZE (192)),
                            six-two-TypeI-SinglePanel-Restriction2-r17       BIT STRING (SIZE (192)),
                            twelve-one-TypeI-SinglePanel-Restriction2-r17    BIT STRING (SIZE (48)),
                            four-four-TypeI-SinglePanel-Restriction2-r17     BIT STRING (SIZE (256)),
                            eight-two-TypeI-SinglePanel-Restriction2-r17     BIT STRING (SIZE (256)),
                            sixteen-one-TypeI-SinglePanel-Restriction2-r17   BIT STRING (SIZE (64))
                        }
                    }
                }
            }                                                                                       OPTIONAL,  -- Need R
            typeI-SinglePanel-ri-RestrictionSTRP-r17                    BIT STRING (SIZE (8))       OPTIONAL,  -- Need R
            typeI-SinglePanel-ri-RestrictionSDM-r17                     BIT STRING (SIZE (4))       OPTIONAL   -- Need R
        },
        type2                                 SEQUENCE {
            typeII-PortSelection-r17              SEQUENCE {
                paramCombination-r17                   INTEGER (1..8),
                valueOfN-r17                           ENUMERATED {n2, n4}                          OPTIONAL,  -- Need R
                numberOfPMI-SubbandsPerCQI-Subband-r17 INTEGER(1..2)                                OPTIONAL,  -- Need R
                typeII-PortSelectionRI-Restriction-r17 BIT STRING (SIZE (4))
            }
        }
    }
}

CodebookConfig-v1730 ::=             SEQUENCE  {
    codebookType                          CHOICE   {
        type1                                 SEQUENCE  {
            codebookMode                          INTEGER (1..2)                                    OPTIONAL   -- Need R
        }
    }
}

-- TAG-CODEBOOKCONFIG-STOP
-- ASN1STOP

-- ASN1START

-- TAG-COMMONLOCATIONINFO-START

CommonLocationInfo-r16 ::= SEQUENCE {
    gnss-TOD-msec-r16          OCTET STRING     OPTIONAL,
    locationTimestamp-r16      OCTET STRING     OPTIONAL,
    locationCoordinate-r16     OCTET STRING     OPTIONAL,
    locationError-r16          OCTET STRING     OPTIONAL,
    locationSource-r16         OCTET STRING     OPTIONAL,
    velocityEstimate-r16       OCTET STRING     OPTIONAL
}

-- TAG-COMMONLOCATIONINFO-STOP
-- ASN1STOP

-- ASN1START

-- TAG-CONDRECONFIGID-START

CondReconfigId-r16 ::=                    INTEGER (1..maxNrofCondCells-r16)

-- TAG-CONDRECONFIGID-STOP
-- ASN1STOP

-- ASN1START

-- TAG-CONDRECONFIGTOADDMODLIST-START

CondReconfigToAddModList-r16 ::= SEQUENCE (SIZE (1..maxNrofCondCells-r16)) OF CondReconfigToAddMod-r16

CondReconfigToAddMod-r16 ::=     SEQUENCE {
    condReconfigId-r16               CondReconfigId-r16,
    condExecutionCond-r16            SEQUENCE (SIZE (1..2)) OF MeasId                      OPTIONAL,    -- Need M
    condRRCReconfig-r16              OCTET STRING (CONTAINING RRCReconfiguration)          OPTIONAL,    -- Cond condReconfigAdd
    ...,
    [[
    condExecutionCondSCG-r17         OCTET STRING (CONTAINING CondReconfigExecCondSCG-r17) OPTIONAL     -- Need M
    ]]
}

CondReconfigExecCondSCG-r17 ::=  SEQUENCE (SIZE (1..2)) OF MeasId

-- TAG-CONDRECONFIGTOADDMODLIST-STOP
-- ASN1STOP

-- ASN1START

-- TAG-CONDITIONALRECONFIGURATION-START

ConditionalReconfiguration-r16 ::=   SEQUENCE {
    attemptCondReconfig-r16              ENUMERATED {true}              OPTIONAL,   -- Cond CHO
    condReconfigToRemoveList-r16         CondReconfigToRemoveList-r16   OPTIONAL,   -- Need N
    condReconfigToAddModList-r16         CondReconfigToAddModList-r16   OPTIONAL,   -- Need N
    ...
}

CondReconfigToRemoveList-r16 ::=     SEQUENCE (SIZE (1..maxNrofCondCells-r16)) OF CondReconfigId-r16

-- TAG-CONDITIONALRECONFIGURATION-STOP
-- ASN1STOP

-- ASN1START

-- TAG-CONFIGUREDGRANTCONFIG-START

ConfiguredGrantConfig ::=           SEQUENCE {
    frequencyHopping                    ENUMERATED {intraSlot, interSlot}                                       OPTIONAL,   -- Need S
    cg-DMRS-Configuration               DMRS-UplinkConfig,
    mcs-Table                           ENUMERATED {qam256, qam64LowSE}                                         OPTIONAL,   -- Need S
    mcs-TableTransformPrecoder          ENUMERATED {qam256, qam64LowSE}                                         OPTIONAL,   -- Need S
    uci-OnPUSCH                         SetupRelease { CG-UCI-OnPUSCH }                                         OPTIONAL,   -- Need M
    resourceAllocation                  ENUMERATED { resourceAllocationType0, resourceAllocationType1, dynamicSwitch },
    rbg-Size                            ENUMERATED {config2}                                                    OPTIONAL,   -- Need S
    powerControlLoopToUse               ENUMERATED {n0, n1},
    p0-PUSCH-Alpha                      P0-PUSCH-AlphaSetId,
    transformPrecoder                   ENUMERATED {enabled, disabled}                                          OPTIONAL,   -- Need S
    nrofHARQ-Processes                  INTEGER(1..16),
    repK                                ENUMERATED {n1, n2, n4, n8},
    repK-RV                             ENUMERATED {s1-0231, s2-0303, s3-0000}                                  OPTIONAL,   -- Need R
    periodicity                         ENUMERATED {
                                                sym2, sym7, sym1x14, sym2x14, sym4x14, sym5x14, sym8x14, sym10x14, sym16x14, sym20x14,
                                                sym32x14, sym40x14, sym64x14, sym80x14, sym128x14, sym160x14, sym256x14, sym320x14, sym512x14,
                                                sym640x14, sym1024x14, sym1280x14, sym2560x14, sym5120x14,
                                                sym6, sym1x12, sym2x12, sym4x12, sym5x12, sym8x12, sym10x12, sym16x12, sym20x12, sym32x12,
                                                sym40x12, sym64x12, sym80x12, sym128x12, sym160x12, sym256x12, sym320x12, sym512x12, sym640x12,
                                                sym1280x12, sym2560x12
    },
    configuredGrantTimer                INTEGER (1..64)                                                         OPTIONAL,   -- Need R
    rrc-ConfiguredUplinkGrant           SEQUENCE {
        timeDomainOffset                    INTEGER (0..5119),
        timeDomainAllocation                INTEGER (0..15),
        frequencyDomainAllocation           BIT STRING (SIZE(18)),
        antennaPort                         INTEGER (0..31),
        dmrs-SeqInitialization              INTEGER (0..1)                                                         OPTIONAL,   -- Need R
        precodingAndNumberOfLayers          INTEGER (0..63),
        srs-ResourceIndicator               INTEGER (0..15)                                                        OPTIONAL,   -- Need R
        mcsAndTBS                           INTEGER (0..31),
        frequencyHoppingOffset              INTEGER (1..maxNrofPhysicalResourceBlocks-1)                           OPTIONAL,   -- Need R
        pathlossReferenceIndex              INTEGER (0..maxNrofPUSCH-PathlossReferenceRSs-1),
        ...,
        [[
        pusch-RepTypeIndicator-r16          ENUMERATED {pusch-RepTypeA,pusch-RepTypeB}                             OPTIONAL,   -- Need M
        frequencyHoppingPUSCH-RepTypeB-r16  ENUMERATED {interRepetition, interSlot}                                OPTIONAL,   -- Cond RepTypeB
        timeReferenceSFN-r16                ENUMERATED {sfn512}                                                    OPTIONAL    -- Need S
        ]],
        [[
        pathlossReferenceIndex2-r17        INTEGER (0..maxNrofPUSCH-PathlossReferenceRSs-1)                        OPTIONAL,   -- Need R
        srs-ResourceIndicator2-r17         INTEGER (0..15)                                                         OPTIONAL,   -- Need R
        precodingAndNumberOfLayers2-r17    INTEGER (0..63)                                                         OPTIONAL,   -- Need R
        timeDomainAllocation-v1710         INTEGER (16..63)                                                        OPTIONAL,    -- Need M
        timeDomainOffset-r17               INTEGER (0..40959)                                                      OPTIONAL,   -- Need R
        cg-SDT-Configuration-r17           CG-SDT-Configuration-r17                                                OPTIONAL    -- Need M
        ]]
    }                                                                                                           OPTIONAL,   -- Need R
    ...,
    [[
    cg-RetransmissionTimer-r16              INTEGER (1..64)                                                     OPTIONAL,   -- Need R
    cg-minDFI-Delay-r16                     ENUMERATED
                                                    {sym7, sym1x14, sym2x14, sym3x14, sym4x14, sym5x14, sym6x14, sym7x14, sym8x14,
                                                     sym9x14, sym10x14, sym11x14, sym12x14, sym13x14, sym14x14,sym15x14, sym16x14
                                                    }                                                   OPTIONAL,   -- Need R
    cg-nrofPUSCH-InSlot-r16                 INTEGER (1..7)                                              OPTIONAL,   -- Need R
    cg-nrofSlots-r16                        INTEGER (1..40)                                             OPTIONAL,   -- Need R
    cg-StartingOffsets-r16                  CG-StartingOffsets-r16                                      OPTIONAL,   -- Need R
    cg-UCI-Multiplexing-r16                 ENUMERATED {enabled}                                        OPTIONAL,   -- Need R
    cg-COT-SharingOffset-r16                INTEGER (1..39)                                             OPTIONAL,   -- Need R
    betaOffsetCG-UCI-r16                    INTEGER (0..31)                                             OPTIONAL,   -- Need R
    cg-COT-SharingList-r16                  SEQUENCE (SIZE (1..1709)) OF CG-COT-Sharing-r16             OPTIONAL,   -- Need R
    harq-ProcID-Offset-r16                  INTEGER (0..15)                                             OPTIONAL,   -- Need M
    harq-ProcID-Offset2-r16                 INTEGER (0..15)                                             OPTIONAL,   -- Need M
    configuredGrantConfigIndex-r16          ConfiguredGrantConfigIndex-r16                              OPTIONAL,   -- Cond CG-List
    configuredGrantConfigIndexMAC-r16       ConfiguredGrantConfigIndexMAC-r16                           OPTIONAL,   -- Cond CG-IndexMAC
    periodicityExt-r16                      INTEGER (1..5120)                                           OPTIONAL,   -- Need R
    startingFromRV0-r16                     ENUMERATED {on, off}                                        OPTIONAL,   -- Need R
    phy-PriorityIndex-r16                   ENUMERATED {p0, p1}                                         OPTIONAL,   -- Need R
    autonomousTx-r16                        ENUMERATED {enabled}                                        OPTIONAL    -- Cond LCH-BasedPrioritization
    ]],
    [[
    cg-betaOffsetsCrossPri0-r17             SetupRelease { BetaOffsetsCrossPriSelCG-r17 }               OPTIONAL,   -- Need M
    cg-betaOffsetsCrossPri1-r17             SetupRelease { BetaOffsetsCrossPriSelCG-r17 }               OPTIONAL,   -- Need M
    mappingPattern-r17                      ENUMERATED {cyclicMapping, sequentialMapping}               OPTIONAL,   -- Cond SRSsets
    sequenceOffsetForRV-r17                 INTEGER (0..3)                                              OPTIONAL,   -- Need R
    p0-PUSCH-Alpha2-r17                     P0-PUSCH-AlphaSetId                                         OPTIONAL,   -- Need R
    powerControlLoopToUse2-r17              ENUMERATED {n0, n1}                                         OPTIONAL,   -- Need R
    cg-COT-SharingList-r17                  SEQUENCE (SIZE (1..50722)) OF CG-COT-Sharing-r17             OPTIONAL,   -- Need R
    periodicityExt-r17                      INTEGER (1..40960)                                          OPTIONAL,   -- Need R
    repK-v1710                              ENUMERATED {n12, n16, n24, n32}                             OPTIONAL,   -- Need R
    nrofHARQ-Processes-v1700                INTEGER(17..32)                                             OPTIONAL,   -- Need M
    harq-ProcID-Offset2-v1700               INTEGER (16..31)                                            OPTIONAL,   -- Need R
    configuredGrantTimer-v1700              INTEGER(33..288)                                            OPTIONAL,   -- Need R
    cg-minDFI-Delay-v1710                   INTEGER (238..3584)                                         OPTIONAL    -- Need R
    ]],
    [[
    harq-ProcID-Offset-v1730                INTEGER (16..31)                                            OPTIONAL,   -- Need R
    cg-nrofSlots-r17                        INTEGER (1..320)                                            OPTIONAL    -- Need R
    ]]
}

CG-UCI-OnPUSCH ::= CHOICE {
    dynamic                                 SEQUENCE (SIZE (1..4)) OF BetaOffsets,
    semiStatic                              BetaOffsets
}

CG-COT-Sharing-r16 ::= CHOICE {
    noCOT-Sharing-r16                   NULL,
    cot-Sharing-r16                     SEQUENCE {
         duration-r16                       INTEGER (1..39),
         offset-r16                         INTEGER (1..39),
         channelAccessPriority-r16          INTEGER (1..4)
    }
}

CG-COT-Sharing-r17 ::=  CHOICE {
    noCOT-Sharing-r17                   NULL,
    cot-Sharing-r17                     SEQUENCE {
         duration-r17                       INTEGER (1..319),
         offset-r17                         INTEGER (1..319)
    }
}

CG-StartingOffsets-r16 ::= SEQUENCE {
    cg-StartingFullBW-InsideCOT-r16         SEQUENCE (SIZE (1..7)) OF INTEGER (0..6)             OPTIONAL,   -- Need R
    cg-StartingFullBW-OutsideCOT-r16        SEQUENCE (SIZE (1..7)) OF INTEGER (0..6)             OPTIONAL,   -- Need R
    cg-StartingPartialBW-InsideCOT-r16      INTEGER (0..6)                                       OPTIONAL,   -- Need R
    cg-StartingPartialBW-OutsideCOT-r16     INTEGER (0..6)                                       OPTIONAL    -- Need R
}

BetaOffsetsCrossPriSelCG-r17 ::= CHOICE {
    dynamic-r17         SEQUENCE (SIZE (1..4)) OF BetaOffsetsCrossPri-r17,
    semiStatic-r17      BetaOffsetsCrossPri-r17
}

CG-SDT-Configuration-r17 ::= SEQUENCE {
    cg-SDT-RetransmissionTimer   INTEGER (1..64)                                                 OPTIONAL,   -- Need R
    sdt-SSB-Subset-r17       CHOICE {
        shortBitmap-r17          BIT STRING (SIZE (4)),
        mediumBitmap-r17         BIT STRING (SIZE (8)),
        longBitmap-r17           BIT STRING (SIZE (64))
    }                                                                                            OPTIONAL,   -- Need S
    sdt-SSB-PerCG-PUSCH-r17   ENUMERATED {oneEighth, oneFourth, half, one, two, four, eight, sixteen}  OPTIONAL,   -- Need M
    sdt-P0-PUSCH-r17         INTEGER (-16..15)                                                   OPTIONAL, -- Need M
    sdt-Alpha-r17            ENUMERATED {alpha0, alpha04, alpha05, alpha06, alpha07, alpha08, alpha09, alpha1} OPTIONAL, -- Need M
    sdt-DMRS-Ports-r17       CHOICE {
        dmrsType1-r17            BIT STRING (SIZE (8)),
        dmrsType2-r17            BIT STRING (SIZE (12))
    }                                                                                            OPTIONAL,  -- Need M
    sdt-NrofDMRS-Sequences-r17  INTEGER (1..2)                                                   OPTIONAL   -- Need M
}

-- TAG-CONFIGUREDGRANTCONFIG-STOP
-- ASN1STOP

-- ASN1START

-- TAG-CONFIGUREDGRANTCONFIGINDEX-START

ConfiguredGrantConfigIndex-r16 ::= INTEGER (0..maxNrofConfiguredGrantConfig-1-r16)

-- TAG-CONFIGUREDGRANTCONFIGINDEX-STOP
-- ASN1STOP

-- ASN1START

-- TAG-CONFIGUREDGRANTCONFIGINDEXMAC-START

ConfiguredGrantConfigIndexMAC-r16 ::= INTEGER (0..maxNrofConfiguredGrantConfigMAC-1-r16)

-- TAG-CONFIGUREDGRANTCONFIGINDEXMAC-STOP
-- ASN1STOP

-- ASN1START

-- TAG-CONNESTFAILURECONTROL-START

ConnEstFailureControl ::=   SEQUENCE {
    connEstFailCount                    ENUMERATED {n1, n2, n3, n4},
    connEstFailOffsetValidity           ENUMERATED {s30, s60, s120, s240, s300, s420, s600, s900},
    connEstFailOffset                   INTEGER (0..15)                                                         OPTIONAL    -- Need S
}

-- TAG-CONNESTFAILURECONTROL-STOP
-- ASN1STOP

-- ASN1START

-- TAG-CONTROLRESOURCESET-START

ControlResourceSet ::=              SEQUENCE {
    controlResourceSetId                ControlResourceSetId,
    frequencyDomainResources            BIT STRING (SIZE (45)),
    duration                            INTEGER (1..maxCoReSetDuration),
    cce-REG-MappingType                 CHOICE {
        interleaved                         SEQUENCE {
            reg-BundleSize                      ENUMERATED {n2, n3, n6},
            interleaverSize                     ENUMERATED {n2, n3, n6},
            shiftIndex                          INTEGER(0..maxNrofPhysicalResourceBlocks-1)       OPTIONAL -- Need S
        },
        nonInterleaved                      NULL
    },
    precoderGranularity                 ENUMERATED {sameAsREG-bundle, allContiguousRBs},
    tci-StatesPDCCH-ToAddList           SEQUENCE(SIZE (1..maxNrofTCI-StatesPDCCH)) OF TCI-StateId OPTIONAL, -- Cond NotSIB-initialBWP
    tci-StatesPDCCH-ToReleaseList       SEQUENCE(SIZE (1..maxNrofTCI-StatesPDCCH)) OF TCI-StateId OPTIONAL, -- Cond NotSIB-initialBWP
    tci-PresentInDCI                        ENUMERATED {enabled}                                  OPTIONAL, -- Need S
    pdcch-DMRS-ScramblingID                 INTEGER (0..65535)                                    OPTIONAL, -- Need S
    ...,
    [[
    rb-Offset-r16                       INTEGER (0..5)                                            OPTIONAL, -- Need S
    tci-PresentDCI-1-2-r16              INTEGER (1..3)                                            OPTIONAL, -- Need S
    coresetPoolIndex-r16                INTEGER (0..1)                                            OPTIONAL, -- Need S
    controlResourceSetId-v1610          ControlResourceSetId-v1610                                OPTIONAL  -- Need S
    ]],
    [[
    followUnifiedTCI-State-r17           ENUMERATED {enabled}                                      OPTIONAL  -- Need R
    ]]
}

-- TAG-CONTROLRESOURCESET-STOP
-- ASN1STOP

-- ASN1START

-- TAG-CONTROLRESOURCESETID-START

ControlResourceSetId ::=                INTEGER (0..maxNrofControlResourceSets-1)

ControlResourceSetId-r16 ::=            INTEGER (0..maxNrofControlResourceSets-1-r16)

ControlResourceSetId-v1610 ::=          INTEGER (maxNrofControlResourceSets..maxNrofControlResourceSets-1-r16)

-- TAG-CONTROLRESOURCESETID-STOP
-- ASN1STOP

-- ASN1START

-- TAG-CONTROLRESOURCESETZERO-START

ControlResourceSetZero ::=                  INTEGER (0..15)

-- TAG-CONTROLRESOURCESETZERO-STOP
-- ASN1STOP

-- ASN1START

-- TAG-CROSSCARRIERSCHEDULINGCONFIG-START

CrossCarrierSchedulingConfig ::=        SEQUENCE {
    schedulingCellInfo                      CHOICE {
        own                                     SEQUENCE {                  -- Cross carrier scheduling: scheduling cell
            cif-Presence                            BOOLEAN
        },
        other                                   SEQUENCE {                  -- Cross carrier scheduling: scheduled cell
            schedulingCellId                        ServCellIndex,
            cif-InSchedulingCell                    INTEGER (1..7)
        }
    },
    ...,
    [[
    carrierIndicatorSize-r16            SEQUENCE {
        carrierIndicatorSizeDCI-1-2-r16        INTEGER (0..3),
        carrierIndicatorSizeDCI-0-2-r16        INTEGER (0..3)
    }                                                                                       OPTIONAL,  -- Cond CIF-PRESENCE
    enableDefaultBeamForCCS-r16         ENUMERATED {enabled}                                OPTIONAL  -- Need S
    ]],
    [[
    ccs-BlindDetectionSplit-r17         ENUMERATED {oneSeventh, threeFourteenth, twoSeventh, threeSeventh,
                                            oneHalf, fourSeventh, fiveSeventh, spare1}      OPTIONAL  -- Need R
    ]]
}

-- TAG-CROSSCARRIERSCHEDULINGCONFIG-STOP
-- ASN1STOP

-- ASN1START

-- TAG-CSI-APERIODICTRIGGERSTATELIST-START

CSI-AperiodicTriggerStateList ::=   SEQUENCE (SIZE (1..maxNrOfCSI-AperiodicTriggers)) OF CSI-AperiodicTriggerState

CSI-AperiodicTriggerState ::=       SEQUENCE {
    associatedReportConfigInfoList      SEQUENCE (SIZE(1..maxNrofReportConfigPerAperiodicTrigger)) OF CSI-AssociatedReportConfigInfo,
    ...,
    [[
    ap-CSI-MultiplexingMode-r17         ENUMERATED {enabled}                                          OPTIONAL  -- Need R
    ]]
}

CSI-AssociatedReportConfigInfo ::=  SEQUENCE {
    reportConfigId                      CSI-ReportConfigId,
    resourcesForChannel                 CHOICE {
        nzp-CSI-RS                          SEQUENCE {
            resourceSet                         INTEGER (1..maxNrofNZP-CSI-RS-ResourceSetsPerConfig),
            qcl-info                            SEQUENCE (SIZE(1..maxNrofAP-CSI-RS-ResourcesPerSet)) OF TCI-StateId
                                                                                                      OPTIONAL  -- Cond Aperiodic
        },
        csi-SSB-ResourceSet                 INTEGER (1..maxNrofCSI-SSB-ResourceSetsPerConfig)
    },
    csi-IM-ResourcesForInterference     INTEGER(1..maxNrofCSI-IM-ResourceSetsPerConfig)               OPTIONAL, -- Cond CSI-IM-ForInterference
    nzp-CSI-RS-ResourcesForInterference INTEGER (1..maxNrofNZP-CSI-RS-ResourceSetsPerConfig)          OPTIONAL, -- Cond NZP-CSI-RS-ForInterference
    ...,
    [[
    resourcesForChannel2-r17        CHOICE {
        nzp-CSI-RS2-r17                 SEQUENCE {
            resourceSet2-r17                INTEGER (1..maxNrofNZP-CSI-RS-ResourceSetsPerConfig),
            qcl-info2-r17                   SEQUENCE (SIZE(1..maxNrofAP-CSI-RS-ResourcesPerSet)) OF TCI-StateId
                                                                                                  OPTIONAL   -- Cond Aperiodic
        },
        csi-SSB-ResourceSet2-r17        INTEGER (1..maxNrofCSI-SSB-ResourceSetsPerConfigExt)
    }                                                                                             OPTIONAL,  -- Cond NoUnifiedTCI
    csi-SSB-ResourceSetExt          INTEGER (1..maxNrofCSI-SSB-ResourceSetsPerConfigExt)          OPTIONAL   -- Need R
    ]]
}

-- TAG-CSI-APERIODICTRIGGERSTATELIST-STOP
-- ASN1STOP

-- ASN1START

-- TAG-CSI-FREQUENCYOCCUPATION-START

CSI-FrequencyOccupation ::=         SEQUENCE {
    startingRB                          INTEGER (0..maxNrofPhysicalResourceBlocks-1),
    nrofRBs                             INTEGER (24..maxNrofPhysicalResourceBlocksPlus1),
    ...
}

-- TAG-CSI-FREQUENCYOCCUPATION-STOP
-- ASN1STOP

-- ASN1START

-- TAG-CSI-IM-RESOURCE-START

CSI-IM-Resource ::=                 SEQUENCE {
    csi-IM-ResourceId                   CSI-IM-ResourceId,
    csi-IM-ResourceElementPattern           CHOICE {
        pattern0                                SEQUENCE {
            subcarrierLocation-p0                   ENUMERATED { s0, s2, s4, s6, s8, s10 },
            symbolLocation-p0                       INTEGER (0..12)
        },
        pattern1                                SEQUENCE {
            subcarrierLocation-p1                   ENUMERATED { s0, s4, s8 },
            symbolLocation-p1                       INTEGER (0..13)
        }
    }                                                                                   OPTIONAL,   -- Need M
    freqBand                            CSI-FrequencyOccupation                         OPTIONAL,   -- Need M
    periodicityAndOffset                CSI-ResourcePeriodicityAndOffset                OPTIONAL,   -- Cond PeriodicOrSemiPersistent
    ...
}

-- TAG-CSI-IM-RESOURCE-STOP
-- ASN1STOP

-- ASN1START

-- TAG-CSI-IM-RESOURCEID-START

CSI-IM-ResourceId ::=               INTEGER (0..maxNrofCSI-IM-Resources-1)

-- TAG-CSI-IM-RESOURCEID-STOP
-- ASN1STOP

-- ASN1START

-- TAG-CSI-IM-RESOURCESET-START

CSI-IM-ResourceSet ::=              SEQUENCE {
    csi-IM-ResourceSetId                CSI-IM-ResourceSetId,
    csi-IM-Resources                    SEQUENCE (SIZE(1..maxNrofCSI-IM-ResourcesPerSet)) OF CSI-IM-ResourceId,
    ...
}
-- TAG-CSI-IM-RESOURCESET-STOP
-- ASN1STOP

-- ASN1START

-- TAG-CSI-IM-RESOURCESETID-START

CSI-IM-ResourceSetId ::=            INTEGER (0..maxNrofCSI-IM-ResourceSets-1)

-- TAG-CSI-IM-RESOURCESETID-STOP
-- ASN1STOP

-- ASN1START

-- TAG-CSI-MEASCONFIG-START

CSI-MeasConfig ::=                  SEQUENCE {
    nzp-CSI-RS-ResourceToAddModList     SEQUENCE (SIZE (1..maxNrofNZP-CSI-RS-Resources)) OF NZP-CSI-RS-Resource   OPTIONAL, -- Need N
    nzp-CSI-RS-ResourceToReleaseList    SEQUENCE (SIZE (1..maxNrofNZP-CSI-RS-Resources)) OF NZP-CSI-RS-ResourceId OPTIONAL, -- Need N
    nzp-CSI-RS-ResourceSetToAddModList  SEQUENCE (SIZE (1..maxNrofNZP-CSI-RS-ResourceSets)) OF NZP-CSI-RS-ResourceSet
                                                                                                                  OPTIONAL, -- Need N
    nzp-CSI-RS-ResourceSetToReleaseList SEQUENCE (SIZE (1..maxNrofNZP-CSI-RS-ResourceSets)) OF NZP-CSI-RS-ResourceSetId
                                                                                                                  OPTIONAL, -- Need N
    csi-IM-ResourceToAddModList         SEQUENCE (SIZE (1..maxNrofCSI-IM-Resources)) OF CSI-IM-Resource           OPTIONAL, -- Need N
    csi-IM-ResourceToReleaseList        SEQUENCE (SIZE (1..maxNrofCSI-IM-Resources)) OF CSI-IM-ResourceId         OPTIONAL, -- Need N
    csi-IM-ResourceSetToAddModList      SEQUENCE (SIZE (1..maxNrofCSI-IM-ResourceSets)) OF CSI-IM-ResourceSet     OPTIONAL, -- Need N
    csi-IM-ResourceSetToReleaseList     SEQUENCE (SIZE (1..maxNrofCSI-IM-ResourceSets)) OF CSI-IM-ResourceSetId   OPTIONAL, -- Need N
    csi-SSB-ResourceSetToAddModList     SEQUENCE (SIZE (1..maxNrofCSI-SSB-ResourceSets)) OF CSI-SSB-ResourceSet   OPTIONAL, -- Need N
    csi-SSB-ResourceSetToReleaseList    SEQUENCE (SIZE (1..maxNrofCSI-SSB-ResourceSets)) OF CSI-SSB-ResourceSetId OPTIONAL, -- Need N
    csi-ResourceConfigToAddModList      SEQUENCE (SIZE (1..maxNrofCSI-ResourceConfigurations)) OF CSI-ResourceConfig
                                                                                                                  OPTIONAL, -- Need N
    csi-ResourceConfigToReleaseList     SEQUENCE (SIZE (1..maxNrofCSI-ResourceConfigurations)) OF CSI-ResourceConfigId
                                                                                                                  OPTIONAL, -- Need N
    csi-ReportConfigToAddModList        SEQUENCE (SIZE (1..maxNrofCSI-ReportConfigurations)) OF CSI-ReportConfig  OPTIONAL, -- Need N
    csi-ReportConfigToReleaseList       SEQUENCE (SIZE (1..maxNrofCSI-ReportConfigurations)) OF CSI-ReportConfigId
                                                                                                                  OPTIONAL, -- Need N
    reportTriggerSize                   INTEGER (0..6)                                                            OPTIONAL, -- Need M
    aperiodicTriggerStateList           SetupRelease { CSI-AperiodicTriggerStateList }                            OPTIONAL, -- Need M
    semiPersistentOnPUSCH-TriggerStateList    SetupRelease { CSI-SemiPersistentOnPUSCH-TriggerStateList }         OPTIONAL, -- Need M
    ...,
    [[
    reportTriggerSizeDCI-0-2-r16        INTEGER (0..6)                                                            OPTIONAL -- Need R
    ]],
    [[
    sCellActivationRS-ConfigToAddModList-r17  SEQUENCE (SIZE (1..maxNrofSCellActRS-r17)) OF SCellActivationRS-Config-r17   OPTIONAL, -- Need N
    sCellActivationRS-ConfigToReleaseList-r17 SEQUENCE (SIZE (1..maxNrofSCellActRS-r17)) OF SCellActivationRS-ConfigId-r17 OPTIONAL  -- Need N
    ]]
}

-- TAG-CSI-MEASCONFIG-STOP
-- ASN1STOP

-- ASN1START

-- TAG-CSI-REPORTCONFIG-START

CSI-ReportConfig ::=                SEQUENCE {
    reportConfigId                          CSI-ReportConfigId,
    carrier                                 ServCellIndex                   OPTIONAL,   -- Need S
    resourcesForChannelMeasurement          CSI-ResourceConfigId,
    csi-IM-ResourcesForInterference         CSI-ResourceConfigId            OPTIONAL,   -- Need R
    nzp-CSI-RS-ResourcesForInterference     CSI-ResourceConfigId            OPTIONAL,   -- Need R
    reportConfigType                        CHOICE {
        periodic                                SEQUENCE {
            reportSlotConfig                        CSI-ReportPeriodicityAndOffset,
            pucch-CSI-ResourceList                  SEQUENCE (SIZE (1..maxNrofBWPs)) OF PUCCH-CSI-Resource
        },
        semiPersistentOnPUCCH                   SEQUENCE {
            reportSlotConfig                        CSI-ReportPeriodicityAndOffset,
            pucch-CSI-ResourceList                  SEQUENCE (SIZE (1..maxNrofBWPs)) OF PUCCH-CSI-Resource
        },
        semiPersistentOnPUSCH                   SEQUENCE {
            reportSlotConfig                        ENUMERATED {sl5, sl10, sl20, sl40, sl80, sl160, sl320},
            reportSlotOffsetList                SEQUENCE (SIZE (1..maxNrofUL-Allocations)) OF INTEGER(0..32),
            p0alpha                                 P0-PUSCH-AlphaSetId
        },
        aperiodic                               SEQUENCE {
            reportSlotOffsetList                SEQUENCE (SIZE (1..maxNrofUL-Allocations)) OF INTEGER(0..32)
        }
    },
    reportQuantity                          CHOICE {
        none                                    NULL,
        cri-RI-PMI-CQI                          NULL,
        cri-RI-i1                               NULL,
        cri-RI-i1-CQI                           SEQUENCE {
            pdsch-BundleSizeForCSI                  ENUMERATED {n2, n4}                                         OPTIONAL    -- Need S
        },
        cri-RI-CQI                              NULL,
        cri-RSRP                                NULL,
        ssb-Index-RSRP                          NULL,
        cri-RI-LI-PMI-CQI                       NULL
    },
    reportFreqConfiguration                 SEQUENCE {
        cqi-FormatIndicator                     ENUMERATED { widebandCQI, subbandCQI }                          OPTIONAL,   -- Need R
        pmi-FormatIndicator                     ENUMERATED { widebandPMI, subbandPMI }                          OPTIONAL,   -- Need R
        csi-ReportingBand                       CHOICE {
            subbands3                               BIT STRING(SIZE(3)),
            subbands4                               BIT STRING(SIZE(4)),
            subbands5                               BIT STRING(SIZE(5)),
            subbands6                               BIT STRING(SIZE(6)),
            subbands7                               BIT STRING(SIZE(7)),
            subbands8                               BIT STRING(SIZE(8)),
            subbands9                               BIT STRING(SIZE(9)),
            subbands10                              BIT STRING(SIZE(10)),
            subbands11                              BIT STRING(SIZE(11)),
            subbands12                              BIT STRING(SIZE(12)),
            subbands13                              BIT STRING(SIZE(13)),
            subbands14                              BIT STRING(SIZE(14)),
            subbands15                              BIT STRING(SIZE(15)),
            subbands16                              BIT STRING(SIZE(16)),
            subbands17                              BIT STRING(SIZE(17)),
            subbands18                              BIT STRING(SIZE(18)),
            ...,
            subbands19-v1530                        BIT STRING(SIZE(19))
        }   OPTIONAL    -- Need S

    }                                                                                                           OPTIONAL,   -- Need R
    timeRestrictionForChannelMeasurements           ENUMERATED {configured, notConfigured},
    timeRestrictionForInterferenceMeasurements      ENUMERATED {configured, notConfigured},
    codebookConfig                                  CodebookConfig                                              OPTIONAL,   -- Need R
    dummy                                           ENUMERATED {n1, n2}                                         OPTIONAL,   -- Need R
    groupBasedBeamReporting                     CHOICE {
        enabled                                     NULL,
        disabled                                    SEQUENCE {
            nrofReportedRS                          ENUMERATED {n1, n2, n3, n4}                                 OPTIONAL    -- Need S
        }
    },
    cqi-Table                   ENUMERATED {table1, table2, table3, table4-r17}                                     OPTIONAL,   -- Need R
    subbandSize                 ENUMERATED {value1, value2},
    non-PMI-PortIndication      SEQUENCE (SIZE (1..maxNrofNZP-CSI-RS-ResourcesPerConfig)) OF PortIndexFor8Ranks OPTIONAL,   -- Need R
    ...,
    [[
    semiPersistentOnPUSCH-v1530         SEQUENCE {
        reportSlotConfig-v1530              ENUMERATED {sl4, sl8, sl16}
    }                                                                                                           OPTIONAL    -- Need R
    ]],
    [[
    semiPersistentOnPUSCH-v1610         SEQUENCE {
        reportSlotOffsetListDCI-0-2-r16     SEQUENCE (SIZE (1..maxNrofUL-Allocations-r16)) OF INTEGER(0..32)   OPTIONAL,    -- Need R
        reportSlotOffsetListDCI-0-1-r16     SEQUENCE (SIZE (1..maxNrofUL-Allocations-r16)) OF INTEGER(0..32)   OPTIONAL     -- Need R
    }                                                                                                           OPTIONAL,    -- Need R
    aperiodic-v1610                     SEQUENCE {
        reportSlotOffsetListDCI-0-2-r16     SEQUENCE (SIZE (1..maxNrofUL-Allocations-r16)) OF INTEGER(0..32)   OPTIONAL,    -- Need R
        reportSlotOffsetListDCI-0-1-r16     SEQUENCE (SIZE (1..maxNrofUL-Allocations-r16)) OF INTEGER(0..32)   OPTIONAL     -- Need R
    }                                                                                                           OPTIONAL,    -- Need R
    reportQuantity-r16                  CHOICE {
       cri-SINR-r16                         NULL,
       ssb-Index-SINR-r16                   NULL
    }                                                                                                           OPTIONAL,   -- Need R
    codebookConfig-r16                          CodebookConfig-r16                                              OPTIONAL    -- Need R
    ]],
    [[
    cqi-BitsPerSubband-r17              ENUMERATED {bits4}                                                      OPTIONAL,   -- Need R
    groupBasedBeamReporting-v1710       SEQUENCE {
        nrofReportedGroups-r17              ENUMERATED {n1, n2, n3, n4}
    }                                                                                                           OPTIONAL,   -- Need R
    codebookConfig-r17                  CodebookConfig-r17                                                      OPTIONAL,   -- Need R
    sharedCMR-r17                       ENUMERATED {enable}                                                     OPTIONAL,   -- Need R
    csi-ReportMode-r17                  ENUMERATED {mode1, mode2}                                               OPTIONAL,   -- Need R
    numberOfSingleTRP-CSI-Mode1-r17     ENUMERATED {n0, n1, n2}                                                 OPTIONAL,   -- Need R
    reportQuantity-r17                  CHOICE {
        cri-RSRP-Index-r17                  NULL,
        ssb-Index-RSRP-Index-r17            NULL,
        cri-SINR-Index-r17                  NULL,
        ssb-Index-SINR-Index-r17            NULL
    }                                                                                                           OPTIONAL    -- Need R
    ]],
    [[
    semiPersistentOnPUSCH-v1720         SEQUENCE {
        reportSlotOffsetList-r17            SEQUENCE (SIZE (1..maxNrofUL-Allocations-r16)) OF INTEGER(0..128)  OPTIONAL,   -- Need R
        reportSlotOffsetListDCI-0-2-r17     SEQUENCE (SIZE (1..maxNrofUL-Allocations-r16)) OF INTEGER(0..128)  OPTIONAL,   -- Need R
        reportSlotOffsetListDCI-0-1-r17     SEQUENCE (SIZE (1..maxNrofUL-Allocations-r16)) OF INTEGER(0..128)  OPTIONAL    -- Need R
    }                                                                                                           OPTIONAL,   -- Need R
    aperiodic-v1720                     SEQUENCE {
        reportSlotOffsetList-r17            SEQUENCE (SIZE (1..maxNrofUL-Allocations-r16)) OF INTEGER(0..128)  OPTIONAL,   -- Need R
        reportSlotOffsetListDCI-0-2-r17     SEQUENCE (SIZE (1..maxNrofUL-Allocations-r16)) OF INTEGER(0..128)  OPTIONAL,   -- Need R
        reportSlotOffsetListDCI-0-1-r17     SEQUENCE (SIZE (1..maxNrofUL-Allocations-r16)) OF INTEGER(0..128)  OPTIONAL    -- Need R
    }                                                                                                           OPTIONAL    -- Need R
    ]],
    [[
    codebookConfig-v1730                CodebookConfig-v1730                                                    OPTIONAL    -- Need R
    ]]
}

CSI-ReportPeriodicityAndOffset ::=  CHOICE {
    slots4                              INTEGER(0..3),
    slots5                              INTEGER(0..4),
    slots8                              INTEGER(0..7),
    slots10                             INTEGER(0..9),
    slots16                             INTEGER(0..15),
    slots20                             INTEGER(0..19),
    slots40                             INTEGER(0..39),
    slots80                             INTEGER(0..79),
    slots160                            INTEGER(0..159),
    slots320                            INTEGER(0..319)
}

PUCCH-CSI-Resource ::=              SEQUENCE {
    uplinkBandwidthPartId               BWP-Id,
    pucch-Resource                      PUCCH-ResourceId
}

PortIndexFor8Ranks ::=              CHOICE {
    portIndex8                          SEQUENCE{
        rank1-8                             PortIndex8                                                      OPTIONAL,   -- Need R
        rank2-8                             SEQUENCE(SIZE(2)) OF PortIndex8                                 OPTIONAL,   -- Need R
        rank3-8                             SEQUENCE(SIZE(3)) OF PortIndex8                                 OPTIONAL,   -- Need R
        rank4-8                             SEQUENCE(SIZE(4)) OF PortIndex8                                 OPTIONAL,   -- Need R
        rank5-8                             SEQUENCE(SIZE(5)) OF PortIndex8                                 OPTIONAL,   -- Need R
        rank6-8                             SEQUENCE(SIZE(6)) OF PortIndex8                                 OPTIONAL,   -- Need R
        rank7-8                             SEQUENCE(SIZE(7)) OF PortIndex8                                 OPTIONAL,   -- Need R
        rank8-8                             SEQUENCE(SIZE(8)) OF PortIndex8                                 OPTIONAL    -- Need R
    },
    portIndex4                          SEQUENCE{
        rank1-4                             PortIndex4                                                      OPTIONAL,   -- Need R
        rank2-4                             SEQUENCE(SIZE(2)) OF PortIndex4                                 OPTIONAL,   -- Need R
        rank3-4                             SEQUENCE(SIZE(3)) OF PortIndex4                                 OPTIONAL,   -- Need R
        rank4-4                             SEQUENCE(SIZE(4)) OF PortIndex4                                 OPTIONAL    -- Need R
    },
    portIndex2                          SEQUENCE{
        rank1-2                             PortIndex2                                                      OPTIONAL,   -- Need R
        rank2-2                             SEQUENCE(SIZE(2)) OF PortIndex2                                 OPTIONAL    -- Need R
    },
    portIndex1                          NULL
}

PortIndex8 ::=                       INTEGER (0..7)
PortIndex4 ::=                       INTEGER (0..3)
PortIndex2 ::=                       INTEGER (0..1)

-- TAG-CSI-REPORTCONFIG-STOP
-- ASN1STOP

-- ASN1START

-- TAG-CSI-REPORTCONFIGID-START

CSI-ReportConfigId ::=              INTEGER (0..maxNrofCSI-ReportConfigurations-1)

-- TAG-CSI-REPORTCONFIGID-STOP
-- ASN1STOP

-- ASN1START

-- TAG-CSI-RESOURCECONFIG-START

CSI-ResourceConfig ::=      SEQUENCE {
    csi-ResourceConfigId        CSI-ResourceConfigId,
    csi-RS-ResourceSetList      CHOICE {
        nzp-CSI-RS-SSB              SEQUENCE {
            nzp-CSI-RS-ResourceSetList  SEQUENCE (SIZE (1..maxNrofNZP-CSI-RS-ResourceSetsPerConfig)) OF NZP-CSI-RS-ResourceSetId
                                                                                                                            OPTIONAL, -- Need R
            csi-SSB-ResourceSetList     SEQUENCE (SIZE (1..maxNrofCSI-SSB-ResourceSetsPerConfig)) OF CSI-SSB-ResourceSetId  OPTIONAL  -- Need R
        },
        csi-IM-ResourceSetList      SEQUENCE (SIZE (1..maxNrofCSI-IM-ResourceSetsPerConfig)) OF CSI-IM-ResourceSetId
    },

    bwp-Id                      BWP-Id,
    resourceType                ENUMERATED { aperiodic, semiPersistent, periodic },
    ...,
    [[
    csi-SSB-ResourceSetListExt-r17      CSI-SSB-ResourceSetId                                                  OPTIONAL  -- Need R
    ]]
}

-- TAG-CSI-RESOURCECONFIG-STOP
-- ASN1STOP

-- ASN1START

-- TAG-CSI-RESOURCECONFIGID-START

CSI-ResourceConfigId ::=            INTEGER (0..maxNrofCSI-ResourceConfigurations-1)

-- TAG-CSI-RESOURCECONFIGID-STOP
-- ASN1STOP

-- ASN1START

-- TAG-CSI-RESOURCEPERIODICITYANDOFFSET-START

CSI-ResourcePeriodicityAndOffset ::=    CHOICE {
    slots4                                  INTEGER (0..3),
    slots5                                  INTEGER (0..4),
    slots8                                  INTEGER (0..7),
    slots10                                 INTEGER (0..9),
    slots16                                 INTEGER (0..15),
    slots20                                 INTEGER (0..19),
    slots32                                 INTEGER (0..31),
    slots40                                 INTEGER (0..39),
    slots64                                 INTEGER (0..63),
    slots80                                 INTEGER (0..79),
    slots160                                INTEGER (0..159),
    slots320                                INTEGER (0..319),
    slots640                                INTEGER (0..639)
}

-- TAG-CSI-RESOURCEPERIODICITYANDOFFSET-STOP
-- ASN1STOP

-- ASN1START

-- TAG-CSI-RS-RESOURCECONFIGMOBILITY-START

CSI-RS-ResourceConfigMobility ::=   SEQUENCE {
    subcarrierSpacing                   SubcarrierSpacing,
    csi-RS-CellList-Mobility            SEQUENCE (SIZE (1..maxNrofCSI-RS-CellsRRM)) OF CSI-RS-CellMobility,
    ...,
    [[
    refServCellIndex                    ServCellIndex                                                           OPTIONAL    -- Need S
    ]]


}

CSI-RS-CellMobility ::=             SEQUENCE {
    cellId                              PhysCellId,
    csi-rs-MeasurementBW                SEQUENCE {
        nrofPRBs                            ENUMERATED { size24, size48, size96, size192, size264},
        startPRB                            INTEGER(0..2169)
    },
    density                             ENUMERATED {d1,d3}                                                      OPTIONAL,   -- Need R
    csi-rs-ResourceList-Mobility        SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesRRM)) OF CSI-RS-Resource-Mobility
}

CSI-RS-Resource-Mobility ::=        SEQUENCE {
    csi-RS-Index                        CSI-RS-Index,
    slotConfig                          CHOICE {
        ms4                                 INTEGER (0..31),
        ms5                                 INTEGER (0..39),
        ms10                                INTEGER (0..79),
        ms20                                INTEGER (0..159),
        ms40                                INTEGER (0..319)
    },
    associatedSSB                       SEQUENCE {
        ssb-Index                           SSB-Index,
        isQuasiColocated                    BOOLEAN
    }                                                                                                           OPTIONAL, -- Need R
    frequencyDomainAllocation           CHOICE {
        row1                                BIT STRING (SIZE (4)),
        row2                                BIT STRING (SIZE (12))
    },
    firstOFDMSymbolInTimeDomain         INTEGER (0..13),
    sequenceGenerationConfig            INTEGER (0..1023),
    ...,
    [[
    slotConfig-r17                      CHOICE {
        ms4                                 INTEGER (0..255),
        ms5                                 INTEGER (0..319),
        ms10                                INTEGER (0..639),
        ms20                                INTEGER (0..1279),
        ms40                                INTEGER (0..2559)
    }                                                                                                           OPTIONAL  -- Need R
    ]]
}

CSI-RS-Index ::=                    INTEGER (0..maxNrofCSI-RS-ResourcesRRM-1)

-- TAG-CSI-RS-RESOURCECONFIGMOBILITY-STOP
-- ASN1STOP

-- ASN1START

-- TAG-CSI-RS-RESOURCEMAPPING-START

CSI-RS-ResourceMapping ::=          SEQUENCE {
    frequencyDomainAllocation           CHOICE {
        row1                                BIT STRING (SIZE (4)),
        row2                                BIT STRING (SIZE (12)),
        row4                                BIT STRING (SIZE (3)),
        other                               BIT STRING (SIZE (6))
    },
    nrofPorts                           ENUMERATED {p1,p2,p4,p8,p12,p16,p24,p32},
    firstOFDMSymbolInTimeDomain         INTEGER (0..13),
    firstOFDMSymbolInTimeDomain2        INTEGER (2..12)                                                         OPTIONAL,   -- Need R
    cdm-Type                            ENUMERATED {noCDM, fd-CDM2, cdm4-FD2-TD2, cdm8-FD2-TD4},
    density                             CHOICE {
        dot5                                ENUMERATED {evenPRBs, oddPRBs},
        one                                 NULL,
        three                               NULL,
        spare                               NULL
    },
    freqBand                            CSI-FrequencyOccupation,
    ...
}

-- TAG-CSI-RS-RESOURCEMAPPING-STOP
-- ASN1STOP

-- ASN1START

-- TAG-CSI-SEMIPERSISTENTONPUSCHTRIGGERSTATELIST-START

CSI-SemiPersistentOnPUSCH-TriggerStateList ::= SEQUENCE(SIZE (1..maxNrOfSemiPersistentPUSCH-Triggers)) OF CSI-SemiPersistentOnPUSCH-TriggerState

CSI-SemiPersistentOnPUSCH-TriggerState ::=     SEQUENCE {
    associatedReportConfigInfo                     CSI-ReportConfigId,
    ...,
    [[
    sp-CSI-MultiplexingMode-r17                ENUMERATED {enabled}                                           OPTIONAL   -- Need R
    ]]
}

-- TAG-CSI-SEMIPERSISTENTONPUSCHTRIGGERSTATELIST-STOP
-- ASN1STOP

-- ASN1START

-- TAG-CSI-SSB-RESOURCESET-START

CSI-SSB-ResourceSet ::=             SEQUENCE {
    csi-SSB-ResourceSetId               CSI-SSB-ResourceSetId,
    csi-SSB-ResourceList                SEQUENCE (SIZE(1..maxNrofCSI-SSB-ResourcePerSet)) OF SSB-Index,
    ...,
    [[
    servingAdditionalPCIList-r17        SEQUENCE (SIZE(1..maxNrofCSI-SSB-ResourcePerSet)) OF ServingAdditionalPCIIndex-r17  OPTIONAL  -- Need R
    ]]
}

ServingAdditionalPCIIndex-r17 ::=  INTEGER(0..maxNrofAdditionalPCI-r17)

-- TAG-CSI-SSB-RESOURCESET-STOP
-- ASN1STOP

-- ASN1START

-- TAG-CSI-SSB-RESOURCESETID-START

CSI-SSB-ResourceSetId ::=           INTEGER (0..maxNrofCSI-SSB-ResourceSets-1)

-- TAG-CSI-SSB-RESOURCESETID-STOP
-- ASN1STOP

-- ASN1START

-- TAG-DEDICATED-NAS-MESSAGE-START

DedicatedNAS-Message ::=        OCTET STRING

-- TAG-DEDICATED-NAS-MESSAGE-STOP
-- ASN1STOP

-- ASN1START

-- TAG-DL-PPW-PRECONFIG-START

DL-PPW-PreConfig-r17 ::= SEQUENCE {
    dl-PPW-ID-r17            DL-PPW-ID-r17,
    dl-PPW-PeriodicityAndStartSlot-r17     DL-PPW-PeriodicityAndStartSlot-r17,
    length-r17                               INTEGER (1..160),
    type-r17                                 ENUMERATED {type1A, type1B, type2}                            OPTIONAL, -- Cond MultiType
    priority-r17                             ENUMERATED {st1, st2, st3}                                    OPTIONAL  -- Cond MultiState
}

DL-PPW-ID-r17 ::= INTEGER  (0..maxNrofPPW-ID-1-r17)

DL-PPW-PeriodicityAndStartSlot-r17 ::= CHOICE {
    scs15                                    CHOICE {
                      n4                         INTEGER (0..3),
                      n5                         INTEGER (0..4),
                      n8                         INTEGER (0..7),
                      n10                        INTEGER (0..9),
                      n16                        INTEGER (0..15),
                      n20                        INTEGER (0..19),
                      n32                        INTEGER (0..31),
                      n40                        INTEGER (0..39),
                      n64                        INTEGER (0..63),
                      n80                        INTEGER (0..79),
                      n160                       INTEGER (0..159),
                      n320                       INTEGER (0..319),
                      n640                       INTEGER (0..639),
                      n1280                      INTEGER (0..1279),
                      n2560                      INTEGER (0..2559),
                      n5120                      INTEGER (0..5119),
                      n10240                     INTEGER (0..10239),
                     ...
    },
    scs30                                    CHOICE {
                      n8                         INTEGER (0..7),
                      n10                        INTEGER (0..9),
                      n16                        INTEGER (0..15),
                      n20                        INTEGER (0..19),
                      n32                        INTEGER (0..31),
                      n40                        INTEGER (0..39),
                      n64                        INTEGER (0..63),
                      n80                        INTEGER (0..79),
                      n128                       INTEGER (0..127),
                      n160                       INTEGER (0..159),
                      n320                       INTEGER (0..319),
                      n640                       INTEGER (0..639),
                      n1280                      INTEGER (0..1279),
                      n2560                      INTEGER (0..2559),
                      n5120                      INTEGER (0..5119),
                      n10240                     INTEGER (0..10239),
                      n20480                     INTEGER (0..20479),
                      ...
    },
    scs60                                    CHOICE {
                      n16                        INTEGER (0..15),
                      n20                        INTEGER (0..19),
                      n32                        INTEGER (0..31),
                      n40                        INTEGER (0..39),
                      n64                        INTEGER (0..63),
                      n80                        INTEGER (0..79),
                      n128                       INTEGER (0..127),
                      n160                       INTEGER (0..159),
                      n256                       INTEGER (0..255),
                      n320                       INTEGER (0..319),
                      n640                       INTEGER (0..639),
                      n1280                      INTEGER (0..1279),
                      n2560                      INTEGER (0..2559),
                      n5120                      INTEGER (0..5119),
                      n10240                     INTEGER (0..10239),
                      n20480                     INTEGER (0..20479),
                      n40960                     INTEGER (0..40959),
                      ...
    },
    scs120                                   CHOICE {
                      n32                        INTEGER (0..31),
                      n40                        INTEGER (0..39),
                      n64                        INTEGER (0..63),
                      n80                        INTEGER (0..79),
                      n128                       INTEGER (0..127),
                      n160                       INTEGER (0..159),
                      n256                       INTEGER (0..255),
                      n320                       INTEGER (0..319),
                      n512                       INTEGER (0..511),
                      n640                       INTEGER (0..639),
                      n1280                      INTEGER (0..1279),
                      n2560                      INTEGER (0..2559),
                      n5120                      INTEGER (0..5119),
                      n10240                     INTEGER (0..10239),
                      n20480                     INTEGER (0..20479),
                      n40960                     INTEGER (0..40959),
                      n81920                     INTEGER (0..81919),
                     ...
    },
    ...
}

-- TAG-DL-PPW-PRECONFIG-STOP
-- ASN1STOP

-- ASN1START

-- TAG-DMRS-BUNDLINGPUCCH-CONFIG-START

DMRS-BundlingPUCCH-Config-r17 ::=         SEQUENCE {
    pucch-DMRS-Bundling-r17                   ENUMERATED {enabled}                                            OPTIONAL,   -- Need R
    pucch-TimeDomainWindowLength-r17          INTEGER (2..8)                                                  OPTIONAL,   -- Need S
    pucch-WindowRestart-r17                   ENUMERATED {enabled}                                            OPTIONAL,   -- Need R
    pucch-FrequencyHoppingInterval-r17        ENUMERATED {s2, s4, s5, s10}                                    OPTIONAL,   -- Need S
    ...
}

-- TAG-DMRS-BUNDLINGPUCCH-CONFIG-STOP
-- ASN1STOP

-- ASN1START

-- TAG-DMRS-BUNDLINGPUSCH-CONFIG-START

DMRS-BundlingPUSCH-Config-r17 ::=          SEQUENCE {
    pusch-DMRS-Bundling-r17                    ENUMERATED {enabled}                                            OPTIONAL,   -- Need R
    pusch-TimeDomainWindowLength-r17           INTEGER (2..32)                                                 OPTIONAL,   -- Need S
    pusch-WindowRestart-r17                    ENUMERATED {enabled}                                            OPTIONAL,   -- Need R
    pusch-FrequencyHoppingInterval-r17         ENUMERATED {s2, s4, s5, s6, s8, s10, s12, s14, s16, s20}        OPTIONAL,   -- Need S
    ...
}

-- TAG-DMRS-BUNDLINGPUSCH-CONFIG-STOP
-- ASN1STOP

-- ASN1START

-- TAG-DMRS-DOWNLINKCONFIG-START

DMRS-DownlinkConfig ::=             SEQUENCE {
    dmrs-Type                           ENUMERATED {type2}                                                      OPTIONAL,   -- Need S
    dmrs-AdditionalPosition             ENUMERATED {pos0, pos1, pos3}                                           OPTIONAL,   -- Need S
    maxLength                           ENUMERATED {len2}                                                       OPTIONAL,   -- Need S
    scramblingID0                       INTEGER (0..65535)                                                      OPTIONAL,   -- Need S
    scramblingID1                       INTEGER (0..65535)                                                      OPTIONAL,   -- Need S
    phaseTrackingRS                     SetupRelease { PTRS-DownlinkConfig  }                                   OPTIONAL,   -- Need M
    ...,
    [[
    dmrs-Downlink-r16               ENUMERATED {enabled}                                                        OPTIONAL    -- Need R
    ]]

}

-- TAG-DMRS-DOWNLINKCONFIG-STOP
-- ASN1STOP

-- ASN1START

-- TAG-DMRS-UPLINKCONFIG-START

DMRS-UplinkConfig ::=               SEQUENCE {
    dmrs-Type                           ENUMERATED {type2}                                                  OPTIONAL,   -- Need S
    dmrs-AdditionalPosition             ENUMERATED {pos0, pos1, pos3}                                       OPTIONAL,   -- Need S
    phaseTrackingRS                     SetupRelease { PTRS-UplinkConfig }                                  OPTIONAL,   -- Need M
    maxLength                           ENUMERATED {len2}                                                   OPTIONAL,   -- Need S
    transformPrecodingDisabled          SEQUENCE {
        scramblingID0                       INTEGER (0..65535)                                              OPTIONAL,   -- Need S
        scramblingID1                       INTEGER (0..65535)                                              OPTIONAL,   -- Need S
        ...,
        [[
        dmrs-Uplink-r16                     ENUMERATED {enabled}                                            OPTIONAL    -- Need R
        ]]
    }                                                                                                       OPTIONAL,   -- Need R
    transformPrecodingEnabled           SEQUENCE {
        nPUSCH-Identity                     INTEGER(0..1007)                                                OPTIONAL,   -- Need S
        sequenceGroupHopping                ENUMERATED {disabled}                                           OPTIONAL,   -- Need S
        sequenceHopping                     ENUMERATED {enabled}                                            OPTIONAL,   -- Need S
        ...,
        [[
        dmrs-UplinkTransformPrecoding-r16   SetupRelease {DMRS-UplinkTransformPrecoding-r16}                OPTIONAL    -- Need M
        ]]
    }                                                                                                       OPTIONAL,   -- Need R
    ...
}

DMRS-UplinkTransformPrecoding-r16 ::=  SEQUENCE {
    pi2BPSK-ScramblingID0                   INTEGER(0..65535)                                               OPTIONAL,   -- Need S
    pi2BPSK-ScramblingID1                   INTEGER(0..65535)                                               OPTIONAL    -- Need S
}

-- TAG-DMRS-UPLINKCONFIG-STOP
-- ASN1STOP

-- ASN1START

-- TAG-DOWNLINKCONFIGCOMMON-START

DownlinkConfigCommon ::=        SEQUENCE {
    frequencyInfoDL                 FrequencyInfoDL                                 OPTIONAL,   -- Cond InterFreqHOAndServCellAdd
    initialDownlinkBWP              BWP-DownlinkCommon                              OPTIONAL,   -- Cond ServCellAdd
    ...,
    [[
    initialDownlinkBWP-RedCap-r17   BWP-DownlinkCommon                              OPTIONAL    -- Need R

    ]]
}

-- TAG-DOWNLINKCONFIGCOMMON-STOP
-- ASN1STOP

-- ASN1START

-- TAG-DOWNLINKCONFIGCOMMONSIB-START

DownlinkConfigCommonSIB ::=     SEQUENCE {
    frequencyInfoDL                 FrequencyInfoDL-SIB,
    initialDownlinkBWP              BWP-DownlinkCommon,
    bcch-Config                     BCCH-Config,
    pcch-Config                     PCCH-Config,
    ...,
    [[
    pei-Config-r17                  PEI-Config-r17                         OPTIONAL,     -- Need R
    initialDownlinkBWP-RedCap-r17   BWP-DownlinkCommon                     OPTIONAL      -- Need R
    ]]
}


BCCH-Config ::=                 SEQUENCE {
    modificationPeriodCoeff         ENUMERATED {n2, n4, n8, n16},
    ...
}


PCCH-Config ::=             SEQUENCE {
    defaultPagingCycle                  PagingCycle,
    nAndPagingFrameOffset               CHOICE {
        oneT                                NULL,
        halfT                               INTEGER (0..1),
        quarterT                            INTEGER (0..3),
        oneEighthT                          INTEGER (0..7),
        oneSixteenthT                       INTEGER (0..15)
    },
    ns                                  ENUMERATED {four, two, one},
    firstPDCCH-MonitoringOccasionOfPO   CHOICE {
        sCS15KHZoneT                                                                SEQUENCE (SIZE (1..maxPO-perPF)) OF INTEGER (0..139),
        sCS30KHZoneT-SCS15KHZhalfT                                                  SEQUENCE (SIZE (1..maxPO-perPF)) OF INTEGER (0..279),
        sCS60KHZoneT-SCS30KHZhalfT-SCS15KHZquarterT                                 SEQUENCE (SIZE (1..maxPO-perPF)) OF INTEGER (0..559),
        sCS120KHZoneT-SCS60KHZhalfT-SCS30KHZquarterT-SCS15KHZoneEighthT             SEQUENCE (SIZE (1..maxPO-perPF)) OF INTEGER (0..1119),
        sCS120KHZhalfT-SCS60KHZquarterT-SCS30KHZoneEighthT-SCS15KHZoneSixteenthT    SEQUENCE (SIZE (1..maxPO-perPF)) OF INTEGER (0..2239),
        sCS480KHZoneT-SCS120KHZquarterT-SCS60KHZoneEighthT-SCS30KHZoneSixteenthT    SEQUENCE (SIZE (1..maxPO-perPF)) OF INTEGER (0..4479),
        sCS480KHZhalfT-SCS120KHZoneEighthT-SCS60KHZoneSixteenthT                    SEQUENCE (SIZE (1..maxPO-perPF)) OF INTEGER (0..8959),
        sCS480KHZquarterT-SCS120KHZoneSixteenthT                                    SEQUENCE (SIZE (1..maxPO-perPF)) OF INTEGER (0..17919)
    }      OPTIONAL,           -- Need R
    ...,
    [[
    nrofPDCCH-MonitoringOccasionPerSSB-InPO-r16        INTEGER (2..4)               OPTIONAL  -- Cond SharedSpectrum2
    ]],
    [[
    ranPagingInIdlePO-r17                              ENUMERATED {true}            OPTIONAL,  -- Need R

    firstPDCCH-MonitoringOccasionOfPO-v1710  CHOICE {
       sCS480KHZoneEighthT        SEQUENCE (SIZE (1..maxPO-perPF)) OF INTEGER (0..35839),
       sCS480KHZoneSixteenthT     SEQUENCE (SIZE (1..maxPO-perPF)) OF INTEGER (0..71679)
}                                                                                  OPTIONAL  -- Need R
    ]]
}

PEI-Config-r17 ::=                        SEQUENCE {
    po-NumPerPEI-r17                          ENUMERATED {po1, po2, po4, po8},
    payloadSizeDCI-2-7-r17                    INTEGER (1..maxDCI-2-7-Size-r17),
    pei-FrameOffset-r17                       INTEGER (0..16),
    subgroupConfig-r17                        SubgroupConfig-r17,
    lastUsedCellOnly-r17                      ENUMERATED {true}                                                OPTIONAL,  -- Need R
    ...
}

SubgroupConfig-r17 ::=     SEQUENCE {
    subgroupsNumPerPO-r17      INTEGER (1..maxNrofPagingSubgroups-r17),
    subgroupsNumForUEID-r17    INTEGER (1..maxNrofPagingSubgroups-r17)                                        OPTIONAL,  -- Need S
    ...
}

-- TAG-DOWNLINKCONFIGCOMMONSIB-STOP
-- ASN1STOP

-- ASN1START

-- TAG-DOWNLINKPREEMPTION-START

DownlinkPreemption ::=              SEQUENCE {
    int-RNTI                            RNTI-Value,
    timeFrequencySet                    ENUMERATED {set0, set1},
    dci-PayloadSize                     INTEGER (0..maxINT-DCI-PayloadSize),
    int-ConfigurationPerServingCell     SEQUENCE (SIZE (1..maxNrofServingCells)) OF INT-ConfigurationPerServingCell,
    ...
}

INT-ConfigurationPerServingCell ::= SEQUENCE {
    servingCellId                       ServCellIndex,
    positionInDCI                       INTEGER (0..maxINT-DCI-PayloadSize-1)
}

-- TAG-DOWNLINKPREEMPTION-STOP
-- ASN1STOP

-- ASN1START

-- TAG-DRB-IDENTITY-START

DRB-Identity ::=                    INTEGER (1..32)

-- TAG-DRB-IDENTITY-STOP
-- ASN1STOP

-- ASN1START

-- TAG-DRX-CONFIG-START

DRX-Config ::=                      SEQUENCE {
    drx-onDurationTimer                 CHOICE {
                                            subMilliSeconds INTEGER (1..31),
                                            milliSeconds    ENUMERATED {
                                                ms1, ms2, ms3, ms4, ms5, ms6, ms8, ms10, ms20, ms30, ms40, ms50, ms60,
                                                ms80, ms100, ms200, ms300, ms400, ms500, ms600, ms800, ms1000, ms1200,
                                                ms1600, spare8, spare7, spare6, spare5, spare4, spare3, spare2, spare1 }
                                            },
    drx-InactivityTimer                 ENUMERATED {
                                            ms0, ms1, ms2, ms3, ms4, ms5, ms6, ms8, ms10, ms20, ms30, ms40, ms50, ms60, ms80,
                                            ms100, ms200, ms300, ms500, ms750, ms1280, ms1920, ms2560, spare9, spare8,
                                            spare7, spare6, spare5, spare4, spare3, spare2, spare1},
    drx-HARQ-RTT-TimerDL                INTEGER (0..56),
    drx-HARQ-RTT-TimerUL                INTEGER (0..56),
    drx-RetransmissionTimerDL           ENUMERATED {
                                            sl0, sl1, sl2, sl4, sl6, sl8, sl16, sl24, sl33, sl40, sl64, sl80, sl96, sl112, sl128,
                                            sl160, sl320, spare15, spare14, spare13, spare12, spare11, spare10, spare9,
                                            spare8, spare7, spare6, spare5, spare4, spare3, spare2, spare1},
    drx-RetransmissionTimerUL           ENUMERATED {
                                            sl0, sl1, sl2, sl4, sl6, sl8, sl16, sl24, sl33, sl40, sl64, sl80, sl96, sl112, sl128,
                                            sl160, sl320, spare15, spare14, spare13, spare12, spare11, spare10, spare9,
                                            spare8, spare7, spare6, spare5, spare4, spare3, spare2, spare1 },
    drx-LongCycleStartOffset            CHOICE {
        ms10                                INTEGER(0..9),
        ms20                                INTEGER(0..19),
        ms32                                INTEGER(0..31),
        ms40                                INTEGER(0..39),
        ms60                                INTEGER(0..59),
        ms64                                INTEGER(0..63),
        ms70                                INTEGER(0..69),
        ms80                                INTEGER(0..79),
        ms128                               INTEGER(0..127),
        ms160                               INTEGER(0..159),
        ms256                               INTEGER(0..255),
        ms320                               INTEGER(0..319),
        ms512                               INTEGER(0..511),
        ms640                               INTEGER(0..639),
        ms1024                              INTEGER(0..1023),
        ms1280                              INTEGER(0..1279),
        ms2048                              INTEGER(0..2047),
        ms2560                              INTEGER(0..2559),
        ms5120                              INTEGER(0..5119),
        ms10240                             INTEGER(0..10239)
    },
    shortDRX                            SEQUENCE {
        drx-ShortCycle                      ENUMERATED  {
                                                ms2, ms3, ms4, ms5, ms6, ms7, ms8, ms10, ms14, ms16, ms20, ms30, ms32,
                                                ms35, ms40, ms64, ms80, ms128, ms160, ms256, ms320, ms512, ms640, spare9,
                                                spare8, spare7, spare6, spare5, spare4, spare3, spare2, spare1 },
        drx-ShortCycleTimer                 INTEGER (1..16)
    }                                                                                                           OPTIONAL,   -- Need R
    drx-SlotOffset                      INTEGER (0..31)
}

DRX-ConfigExt-v1700 ::=                 SEQUENCE {
    drx-HARQ-RTT-TimerDL-r17                INTEGER (0..448),
    drx-HARQ-RTT-TimerUL-r17                INTEGER (0..448)
}

-- TAG-DRX-CONFIG-STOP
-- ASN1STOP

-- ASN1START

-- TAG-DRX-CONFIGSECONDARYGROUP-START

DRX-ConfigSecondaryGroup-r16 ::=   SEQUENCE {
    drx-onDurationTimer-r16            CHOICE {
                                           subMilliSeconds INTEGER (1..31),
                                           milliSeconds    ENUMERATED {
                                               ms1, ms2, ms3, ms4, ms5, ms6, ms8, ms10, ms20, ms30, ms40, ms50, ms60,
                                               ms80, ms100, ms200, ms300, ms400, ms500, ms600, ms800, ms1000, ms1200,
                                               ms1600, spare8, spare7, spare6, spare5, spare4, spare3, spare2, spare1 }
                                            },
    drx-InactivityTimer-r16            ENUMERATED {
                                           ms0, ms1, ms2, ms3, ms4, ms5, ms6, ms8, ms10, ms20, ms30, ms40, ms50, ms60, ms80,
                                           ms100, ms200, ms300, ms500, ms750, ms1280, ms1920, ms2560, spare9, spare8,
                                           spare7, spare6, spare5, spare4, spare3, spare2, spare1}
}

-- TAG-DRX-CONFIGSECONDARYGROUP-STOP
-- ASN1STOP

-- ASN1START

-- TAG-DRX-CONFIGSL-START

DRX-ConfigSL-r17 ::=            SEQUENCE {
    drx-HARQ-RTT-TimerSL-r17        INTEGER (0..56),
    drx-RetransmissionTimerSL-r17   ENUMERATED {sl0, sl1, sl2, sl4, sl6, sl8, sl16, sl24, sl33, sl40, sl64, sl80, sl96, sl112, sl128,
                                                sl160, sl320, spare15, spare14, spare13, spare12, spare11, spare10, spare9, spare8,
                                                spare7, spare6, spare5, spare4, spare3, spare2, spare1}
}

-- TAG-DRX-CONFIGSL-STOP
-- ASN1STOP

-- ASN1START

-- TAG-EPHEMERISINFO-START

EphemerisInfo-r17 ::=          CHOICE {
    positionVelocity-r17           PositionVelocity-r17,
    orbital-r17                    Orbital-r17
}

PositionVelocity-r17 ::=       SEQUENCE {
    positionX-r17                  PositionStateVector-r17,
    positionY-r17                  PositionStateVector-r17,
    positionZ-r17                  PositionStateVector-r17,
    velocityVX-r17                 VelocityStateVector-r17,
    velocityVY-r17                 VelocityStateVector-r17,
    velocityVZ-r17                 VelocityStateVector-r17
}

Orbital-r17 ::=                SEQUENCE {
    semiMajorAxis-r17              INTEGER (0..8589934591),
    eccentricity-r17               INTEGER (0..1048575),
    periapsis-r17                  INTEGER (0..268435455),
    longitude-r17                  INTEGER (0..268435455),
    inclination-r17                INTEGER (-67108864..67108863),
    meanAnomaly-r17                INTEGER (0..268435455)
}

PositionStateVector-r17 ::= INTEGER (-33554432..33554431)

VelocityStateVector-r17 ::= INTEGER (-131072..131071)

-- TAG-EPHEMERISINFO-STOP
-- ASN1STOP

-- ASN1START

-- TAG-FEATURECOMBINATION-START

FeatureCombination-r17 ::= SEQUENCE {
    redCap-r17                 ENUMERATED {true}                                    OPTIONAL,  -- Need R
    smallData-r17              ENUMERATED {true}                                    OPTIONAL,  -- Need R
    nsag-r17                   NSAG-List-r17                                        OPTIONAL,  -- Need R
    msg3-Repetitions-r17       ENUMERATED {true}                                    OPTIONAL,  -- Need R
    spare4                     ENUMERATED {true}                                    OPTIONAL,  -- Need R
    spare3                     ENUMERATED {true}                                    OPTIONAL,  -- Need R
    spare2                     ENUMERATED {true}                                    OPTIONAL,  -- Need R
    spare1                     ENUMERATED {true}                                    OPTIONAL   -- Need R
}

NSAG-List-r17 ::= SEQUENCE (SIZE (1..maxSliceInfo-r17)) OF NSAG-ID-r17

-- TAG-FEATURECOMBINATION-STOP
-- ASN1STOP

-- ASN1START

-- TAG-FEATURECOMBINATIONPREAMBLES-START

FeatureCombinationPreambles-r17 ::=   SEQUENCE {
    featureCombination-r17                FeatureCombination-r17,
    startPreambleForThisPartition-r17     INTEGER (0..63),
    numberOfPreamblesPerSSB-ForThisPartition-r17 INTEGER (1..64),
    ssb-SharedRO-MaskIndex-r17            INTEGER (1..15)                                           OPTIONAL, -- Need S
    groupBconfigured-r17                  SEQUENCE {
        ra-SizeGroupA-r17                     ENUMERATED {b56, b144, b208, b256, b282, b480, b640,
                                                        b800, b1000, b72, spare6, spare5,spare4, spare3, spare2, spare1},
        messagePowerOffsetGroupB-r17          ENUMERATED { minusinfinity, dB0, dB5, dB8, dB10, dB12, dB15, dB18},
        numberOfRA-PreamblesGroupA-r17        INTEGER (1..64)
    }                                                                                               OPTIONAL, -- Need R
    separateMsgA-PUSCH-Config-r17         MsgA-PUSCH-Config-r16                                     OPTIONAL, -- Cond MsgAConfigCommon
    msgA-RSRP-Threshold-r17               RSRP-Range                                                OPTIONAL, -- Need R
    rsrp-ThresholdSSB-r17                 RSRP-Range                                                OPTIONAL, -- Need R
    deltaPreamble-r17                     INTEGER (-1..6)                                           OPTIONAL, -- Need R
    ...
}

-- TAG-FEATURECOMBINATIONPREAMBLES-STOP
-- ASN1STOP

-- ASN1START

-- TAG-FILTERCOEFFICIENT-START

FilterCoefficient ::=       ENUMERATED { fc0, fc1, fc2, fc3, fc4, fc5, fc6, fc7, fc8, fc9, fc11, fc13, fc15, fc17, fc19, spare1, ...}

-- TAG-FILTERCOEFFICIENT-STOP
-- ASN1STOP

-- ASN1START

-- TAG-FREQBANDINDICATORNR-START

FreqBandIndicatorNR ::=             INTEGER (1..1024)

-- TAG-FREQBANDINDICATORNR-STOP
-- ASN1STOP

-- ASN1START

-- TAG-FREQPRIORITYLISTDEDICATEDSLICING-START

FreqPriorityListDedicatedSlicing-r17 ::= SEQUENCE (SIZE (1..maxFreq)) OF FreqPriorityDedicatedSlicing-r17

FreqPriorityDedicatedSlicing-r17 ::=     SEQUENCE {
     dl-ExplicitCarrierFreq-r17               ARFCN-ValueNR,
    sliceInfoListDedicated-r17               SliceInfoListDedicated-r17                                    OPTIONAL  -- Cond Mandatory
}

SliceInfoListDedicated-r17 ::=           SEQUENCE (SIZE (1..maxSliceInfo-r17)) OF SliceInfoDedicated-r17

SliceInfoDedicated-r17 ::=               SEQUENCE {
    nsag-IdentityInfo-r17                    NSAG-IdentityInfo-r17,
    nsag-CellReselectionPriority-r17         CellReselectionPriority                                       OPTIONAL,  -- Need R
    nsag-CellReselectionSubPriority-r17      CellReselectionSubPriority                                    OPTIONAL   -- Need R
}

-- TAG-FREQPRIORITYLISTDEDICATEDSLICING-STOP
-- ASN1STOP

-- ASN1START

-- TAG-FREQPRIORITYLISTSLICING-START

FreqPriorityListSlicing-r17 ::= SEQUENCE (SIZE (1..maxFreqPlus1)) OF FreqPrioritySlicing-r17

FreqPrioritySlicing-r17 ::=     SEQUENCE {
     dl-ImplicitCarrierFreq-r17            INTEGER (0..maxFreq),
    sliceInfoList-r17                     SliceInfoList-r17                                               OPTIONAL  -- Cond Mandatory
}

SliceInfoList-r17 ::=             SEQUENCE (SIZE (1..maxSliceInfo-r17)) OF SliceInfo-r17

SliceInfo-r17 ::=                 SEQUENCE {
    nsag-IdentityInfo-r17             NSAG-IdentityInfo-r17,
    nsag-CellReselectionPriority-r17  CellReselectionPriority                                             OPTIONAL,  -- Need R
    nsag-CellReselectionSubPriority-r17 CellReselectionSubPriority                                        OPTIONAL,  -- Need R
    sliceCellListNR-r17               CHOICE {
        sliceAllowedCellListNR-r17        SliceCellListNR-r17,
        sliceExcludedCellListNR-r17       SliceCellListNR-r17
    }                                                                                                     OPTIONAL  -- Need R
}

SliceCellListNR-r17 ::=           SEQUENCE (SIZE (1..maxCellSlice-r17)) OF PCI-Range

-- TAG-FREQPRIORITYLISTSLICING-STOP
-- ASN1STOP

-- ASN1START

-- TAG-FREQUENCYINFODL-START

FrequencyInfoDL ::=                 SEQUENCE {
    absoluteFrequencySSB                ARFCN-ValueNR                                                   OPTIONAL,   -- Cond SpCellAdd
    frequencyBandList                   MultiFrequencyBandListNR,
    absoluteFrequencyPointA             ARFCN-ValueNR,
    scs-SpecificCarrierList             SEQUENCE (SIZE (1..maxSCSs)) OF SCS-SpecificCarrier,
    ...
}

-- TAG-FREQUENCYINFODL-STOP
-- ASN1STOP

-- ASN1START

-- TAG-FREQUENCYINFODL-SIB-START

FrequencyInfoDL-SIB ::=             SEQUENCE {
    frequencyBandList                   MultiFrequencyBandListNR-SIB,
    offsetToPointA                      INTEGER (0..2199),
    scs-SpecificCarrierList             SEQUENCE (SIZE (1..maxSCSs)) OF SCS-SpecificCarrier
}

-- TAG-FREQUENCYINFODL-SIB-STOP
-- ASN1STOP

-- ASN1START

-- TAG-FREQUENCYINFOUL-START

FrequencyInfoUL ::=                 SEQUENCE {
    frequencyBandList                   MultiFrequencyBandListNR                                OPTIONAL,   -- Cond FDD-OrSUL
    absoluteFrequencyPointA             ARFCN-ValueNR                                           OPTIONAL,   -- Cond FDD-OrSUL
    scs-SpecificCarrierList             SEQUENCE (SIZE (1..maxSCSs)) OF SCS-SpecificCarrier,
    additionalSpectrumEmission          AdditionalSpectrumEmission                              OPTIONAL,   -- Need S
    p-Max                               P-Max                                                   OPTIONAL,   -- Need S
    frequencyShift7p5khz                ENUMERATED {true}                                       OPTIONAL,   -- Cond FDD-TDD-OrSUL-Optional
    ...
}

-- TAG-FREQUENCYINFOUL-STOP
-- ASN1STOP

-- ASN1START

-- TAG-FREQUENCYINFOUL-SIB-START

FrequencyInfoUL-SIB ::=                 SEQUENCE {
    frequencyBandList                   MultiFrequencyBandListNR-SIB                            OPTIONAL,   -- Cond FDD-OrSUL
    absoluteFrequencyPointA             ARFCN-ValueNR                                           OPTIONAL,   -- Cond FDD-OrSUL
    scs-SpecificCarrierList             SEQUENCE (SIZE (1..maxSCSs)) OF SCS-SpecificCarrier,
    p-Max                               P-Max                                                   OPTIONAL,   -- Need S
    frequencyShift7p5khz                ENUMERATED {true}                                       OPTIONAL,   -- Cond FDD-TDD-OrSUL-Optional
    ...
}

-- TAG-FREQUENCYINFOUL-SIB-STOP
-- ASN1STOP

-- ASN1START

-- TAG-GAPPRIORITY-START

GapPriority-r17 ::=                       INTEGER (1..maxNrOfGapPri-r17)

-- TAG-GAPPRIORITY-STOP
-- ASN1STOP

-- ASN1START

-- TAG-HIGHSPEEDCONFIG-START

HighSpeedConfig-r16 ::=  SEQUENCE {
    highSpeedMeasFlag-r16    ENUMERATED {true}        OPTIONAL,   -- Cond SpCellOnly
    highSpeedDemodFlag-r16   ENUMERATED {true}        OPTIONAL,   -- Need R
    ...
}

HighSpeedConfig-v1700 ::=  SEQUENCE {
    highSpeedMeasCA-Scell-r17    ENUMERATED {true}        OPTIONAL,   -- Cond SCellOnly
    highSpeedMeasInterFreq-r17   ENUMERATED {true}        OPTIONAL,   -- Cond SpCellOnly2
    highSpeedDemodCA-Scell-r17   ENUMERATED {true}        OPTIONAL,   -- Need R
    ...
}

HighSpeedConfigFR2-r17 ::=  SEQUENCE {
    highSpeedMeasFlagFR2-r17                    ENUMERATED {set1, set2}                       OPTIONAL,   -- Need R
    highSpeedDeploymentTypeFR2-r17              ENUMERATED {unidirectional, bidirectional}    OPTIONAL,   -- Need R
    highSpeedLargeOneStepUL-TimingFR2-r17       ENUMERATED {true}                             OPTIONAL,   -- Need R
    ...
}

-- TAG-HIGHSPEEDCONFIG-STOP
-- ASN1STOP

-- ASN1START

-- TAG-HYSTERESIS-START

Hysteresis ::=                      INTEGER (0..30)

-- TAG-HYSTERESIS-STOP
-- ASN1STOP

-- ASN1START

-- TAG-HYSTERESISLOCATION-START

HysteresisLocation-r17 ::=          INTEGER (0..32768)

-- TAG-HYSTERESISLOCATION-STOP
-- ASN1STOP

-- ASN1START

-- TAG-INVALIDSYMBOLPATTERN-START

InvalidSymbolPattern-r16 ::=     SEQUENCE {
    symbols-r16                      CHOICE {
        oneSlot                          BIT STRING (SIZE (14)),
        twoSlots                         BIT STRING (SIZE (28))
    },
    periodicityAndPattern-r16        CHOICE {
        n2                               BIT STRING (SIZE (2)),
        n4                               BIT STRING (SIZE (4)),
        n5                               BIT STRING (SIZE (5)),
        n8                               BIT STRING (SIZE (8)),
        n10                              BIT STRING (SIZE (10)),
        n20                              BIT STRING (SIZE (20)),
        n40                              BIT STRING (SIZE (40))
    }                                                                OPTIONAL,   -- Need M
    ...
}

-- TAG-INVALIDSYMBOLPATTERN-STOP
-- ASN1STOP

-- ASN1START

-- TAG-I-RNTI-VALUE-START

I-RNTI-Value ::=                        BIT STRING (SIZE(40))

-- TAG-I-RNTI-VALUE-STOP
-- ASN1STOP

-- ASN1START

-- TAG-LBT-FAILURERECOVERYCONFIG-START

LBT-FailureRecoveryConfig-r16 ::=    SEQUENCE {
    lbt-FailureInstanceMaxCount-r16      ENUMERATED {n4, n8, n16, n32, n64, n128},
    lbt-FailureDetectionTimer-r16        ENUMERATED {ms10, ms20, ms40, ms80, ms160, ms320},
    ...
}

-- TAG-LBT-FAILURERECOVERYCONFIG-STOP
-- ASN1STOP

-- ASN1START

-- TAG-LOCATIONINFO-START

LocationInfo-r16 ::=      SEQUENCE {
    commonLocationInfo-r16    CommonLocationInfo-r16          OPTIONAL,
    bt-LocationInfo-r16       LogMeasResultListBT-r16         OPTIONAL,
    wlan-LocationInfo-r16     LogMeasResultListWLAN-r16       OPTIONAL,
    sensor-LocationInfo-r16   Sensor-LocationInfo-r16         OPTIONAL,
    ...
}

-- TAG-LOCATIONINFO-STOP
-- ASN1STOP

-- ASN1START

-- TAG-LOCATIONMEASUREMENTINFO-START

LocationMeasurementInfo ::=     CHOICE {
    eutra-RSTD                  EUTRA-RSTD-InfoList,
    ...,
    eutra-FineTimingDetection   NULL,
    nr-PRS-Measurement-r16      NR-PRS-MeasurementInfoList-r16
}

EUTRA-RSTD-InfoList ::= SEQUENCE (SIZE (1..maxInterRAT-RSTD-Freq)) OF EUTRA-RSTD-Info

EUTRA-RSTD-Info ::= SEQUENCE {
    carrierFreq                 ARFCN-ValueEUTRA,
    measPRS-Offset              INTEGER (0..39),
    ...
}

NR-PRS-MeasurementInfoList-r16 ::= SEQUENCE (SIZE (1..maxFreqLayers)) OF NR-PRS-MeasurementInfo-r16

NR-PRS-MeasurementInfo-r16 ::=      SEQUENCE {
    dl-PRS-PointA-r16                   ARFCN-ValueNR,
    nr-MeasPRS-RepetitionAndOffset-r16  CHOICE {
        ms20-r16                            INTEGER (0..19),
        ms40-r16                            INTEGER (0..39),
        ms80-r16                            INTEGER (0..79),
        ms160-r16                           INTEGER (0..159),
        ...
    },
    nr-MeasPRS-length-r16               ENUMERATED {ms1dot5, ms3, ms3dot5, ms4, ms5dot5, ms6, ms10, ms20},
    ...
}

-- TAG-LOCATIONMEASUREMENTINFO-STOP
-- ASN1STOP

-- ASN1START

-- TAG-LOGICALCHANNELCONFIG-START

LogicalChannelConfig ::=            SEQUENCE {
    ul-SpecificParameters               SEQUENCE {
        priority                            INTEGER (1..16),
        prioritisedBitRate                  ENUMERATED {kBps0, kBps8, kBps16, kBps32, kBps64, kBps128, kBps256, kBps512,
                                            kBps1024, kBps2048, kBps4096, kBps8192, kBps16384, kBps32768, kBps65536, infinity},
        bucketSizeDuration                  ENUMERATED {ms5, ms10, ms20, ms50, ms100, ms150, ms300, ms500, ms1000,
                                                            spare7, spare6, spare5, spare4, spare3,spare2, spare1},
        allowedServingCells                 SEQUENCE (SIZE (1..maxNrofServingCells-1)) OF ServCellIndex
                                                                                                            OPTIONAL,   -- Cond PDCP-CADuplication
        allowedSCS-List                     SEQUENCE (SIZE (1..maxSCSs)) OF SubcarrierSpacing                   OPTIONAL,   -- Need R
        maxPUSCH-Duration                   ENUMERATED {ms0p02, ms0p04, ms0p0625, ms0p125, ms0p25, ms0p5, ms0p01-v1700, spare1}
                                                                                                                OPTIONAL,   -- Need R
        configuredGrantType1Allowed         ENUMERATED {true}                                                   OPTIONAL,   -- Need R
        logicalChannelGroup                 INTEGER (0..maxLCG-ID)                                              OPTIONAL,   -- Need R
        schedulingRequestID                 SchedulingRequestId                                                 OPTIONAL,   -- Need R
        logicalChannelSR-Mask               BOOLEAN,
        logicalChannelSR-DelayTimerApplied  BOOLEAN,
        ...,
        bitRateQueryProhibitTimer       ENUMERATED {s0, s0dot4, s0dot8, s1dot6, s3, s6, s12, s30}               OPTIONAL,    -- Need R
        [[
        allowedCG-List-r16                  SEQUENCE (SIZE (0..maxNrofConfiguredGrantConfigMAC-1-r16)) OF ConfiguredGrantConfigIndexMAC-r16
                                                                                                                OPTIONAL,   -- Need S
        allowedPHY-PriorityIndex-r16        ENUMERATED {p0, p1}                                                 OPTIONAL    -- Need S
        ]],
        [[
        logicalChannelGroupIAB-Ext-r17      INTEGER (0..maxLCG-ID-IAB-r17)                                      OPTIONAL,   -- Need R
        allowedHARQ-mode-r17                ENUMERATED {harqModeA, harqModeB}                                   OPTIONAL    -- Need R
        ]]
    }                                                                                                       OPTIONAL,   -- Cond UL
    ...,
    [[
    channelAccessPriority-r16           INTEGER (1..4)                                                      OPTIONAL,   -- Need R
    bitRateMultiplier-r16               ENUMERATED {x40, x70, x100, x200}                                   OPTIONAL    -- Need R
    ]]
}

-- TAG-LOGICALCHANNELCONFIG-STOP
-- ASN1STOP

-- ASN1START

-- TAG-LOGICALCHANNELIDENTITY-START

LogicalChannelIdentity ::=          INTEGER (1..maxLC-ID)

-- TAG-LOGICALCHANNELIDENTITY-STOP
-- ASN1STOP

-- ASN1START

-- TAG-LTE-NEIGHCELLSCRS-ASSISTINFOLIST-START

LTE-NeighCellsCRS-AssistInfoList-r17 ::= SEQUENCE (SIZE (1..maxNrofCRS-IM-InterfCell-r17)) OF LTE-NeighCellsCRS-AssistInfo-r17

LTE-NeighCellsCRS-AssistInfo-r17 ::=     SEQUENCE {
    neighCarrierBandwidthDL-r17              ENUMERATED {n6, n15, n25, n50, n75, n100, spare2, spare1}   OPTIONAL,   -- Cond CRS-IM
    neighCarrierFreqDL-r17                   INTEGER (0..16383)                                          OPTIONAL,   -- Need S
    neighCellId-r17                          EUTRA-PhysCellId                                            OPTIONAL,   -- Need S
    neighCRS-muting-r17                      ENUMERATED {enabled}                                        OPTIONAL,   -- Need R
    neighMBSFN-SubframeConfigList-r17        EUTRA-MBSFN-SubframeConfigList                              OPTIONAL,   -- Need S
    neighNrofCRS-Ports-r17                   ENUMERATED {n1, n2, n4}                                     OPTIONAL,   -- Need S
    neighV-Shift-r17                         ENUMERATED {n0, n1, n2, n3, n4, n5}                         OPTIONAL    -- Cond NotCellID
}

-- TAG-LTE-NEIGHCELLSCRS-ASSISTINFOLIST-STOP
-- ASN1STOP

-- ASN1START

-- TAG-MAC-CELLGROUPCONFIG-START

MAC-CellGroupConfig ::=             SEQUENCE {
    drx-Config                          SetupRelease { DRX-Config }                                     OPTIONAL,   -- Need M
    schedulingRequestConfig             SchedulingRequestConfig                                         OPTIONAL,   -- Need M
    bsr-Config                          BSR-Config                                                      OPTIONAL,   -- Need M
    tag-Config                          TAG-Config                                                      OPTIONAL,   -- Need M
    phr-Config                          SetupRelease { PHR-Config }                                     OPTIONAL,   -- Need M
    skipUplinkTxDynamic                 BOOLEAN,
    ...,
    [[
    csi-Mask                            BOOLEAN                                                         OPTIONAL,   -- Need M
    dataInactivityTimer                 SetupRelease { DataInactivityTimer }                            OPTIONAL    -- Cond MCG-Only
    ]],
    [[
    usePreBSR-r16                       ENUMERATED {true}                                               OPTIONAL,   -- Need R
    schedulingRequestID-LBT-SCell-r16   SchedulingRequestId                                             OPTIONAL,   -- Need R
    lch-BasedPrioritization-r16         ENUMERATED {enabled}                                            OPTIONAL,   -- Need R
    schedulingRequestID-BFR-SCell-r16   SchedulingRequestId                                             OPTIONAL,   -- Need R
    drx-ConfigSecondaryGroup-r16        SetupRelease { DRX-ConfigSecondaryGroup-r16 }                   OPTIONAL    -- Need M
    ]],
    [[
    enhancedSkipUplinkTxDynamic-r16     ENUMERATED {true}                                               OPTIONAL,   -- Need R
    enhancedSkipUplinkTxConfigured-r16  ENUMERATED {true}                                               OPTIONAL    -- Need R
    ]],
    [[
    intraCG-Prioritization-r17          ENUMERATED {enabled}                        OPTIONAL,    -- Cond LCH-PrioWithReTxTimer
    drx-ConfigSL-r17                    SetupRelease { DRX-ConfigSL-r17 }           OPTIONAL,    -- Need M
    drx-ConfigExt-v1700                 SetupRelease { DRX-ConfigExt-v1700 }        OPTIONAL,    -- Need M
    schedulingRequestID-BFR-r17         SchedulingRequestId                         OPTIONAL,    -- Need R
    schedulingRequestID-BFR2-r17        SchedulingRequestId                         OPTIONAL,    -- Need R
    schedulingRequestConfig-v1700       SchedulingRequestConfig-v1700               OPTIONAL,    -- Need M
    tar-Config-r17                      SetupRelease { TAR-Config-r17  }                                OPTIONAL,    -- Need M
    g-RNTI-ConfigToAddModList-r17       SEQUENCE (SIZE (1..maxG-RNTI-r17)) OF MBS-RNTI-SpecificConfig-r17       OPTIONAL,    -- Need N
    g-RNTI-ConfigToReleaseList-r17      SEQUENCE (SIZE (1..maxG-RNTI-r17)) OF MBS-RNTI-SpecificConfigId-r17     OPTIONAL,    -- Need N
    g-CS-RNTI-ConfigToAddModList-r17    SEQUENCE (SIZE (1..maxG-CS-RNTI-r17)) OF MBS-RNTI-SpecificConfig-r17    OPTIONAL,    -- Need N
    g-CS-RNTI-ConfigToReleaseList-r17   SEQUENCE (SIZE (1..maxG-CS-RNTI-r17)) OF MBS-RNTI-SpecificConfigId-r17  OPTIONAL,    -- Need N
    allowCSI-SRS-Tx-MulticastDRX-Active-r17   BOOLEAN                                                           OPTIONAL     -- Need M
    ]],
    [[
    schedulingRequestID-PosMG-Request-r17 SchedulingRequestId                                                   OPTIONAL,    -- Need R
    drx-LastTransmissionUL-r17          ENUMERATED {enabled}                                                    OPTIONAL     -- Need R
    ]],
    [[
    posMG-Request-r17                   ENUMERATED {enabled}                                                    OPTIONAL     -- Need R
    ]]
}

DataInactivityTimer ::=         ENUMERATED {s1, s2, s3, s5, s7, s10, s15, s20, s40, s50, s60, s80, s100, s120, s150, s180}

MBS-RNTI-SpecificConfig-r17 ::=        SEQUENCE {
    mbs-RNTI-SpecificConfigId-r17          MBS-RNTI-SpecificConfigId-r17,
    groupCommon-RNTI-r17                   CHOICE {
        g-RNTI                                 RNTI-Value,
        g-CS-RNTI                              RNTI-Value
    },
    drx-ConfigPTM-r17                      SetupRelease { DRX-ConfigPTM-r17 }                          OPTIONAL,   -- Need M
    harq-FeedbackEnablerMulticast-r17      ENUMERATED {dci-enabler, enabled}                           OPTIONAL,   -- Need S
    harq-FeedbackOptionMulticast-r17       ENUMERATED {ack-nack, nack-only}                            OPTIONAL,   -- Cond HARQFeedback
    pdsch-AggregationFactor-r17            ENUMERATED {n2, n4, n8}                                     OPTIONAL    -- Cond G-RNTI
}

MBS-RNTI-SpecificConfigId-r17 ::= INTEGER (0..maxG-RNTI-1-r17)

-- TAG-MAC-CELLGROUPCONFIG-STOP
-- ASN1STOP

-- ASN1START

-- TAG-MEASCONFIG-START

MeasConfig ::=                      SEQUENCE {
    measObjectToRemoveList              MeasObjectToRemoveList                                              OPTIONAL,   -- Need N
    measObjectToAddModList              MeasObjectToAddModList                                              OPTIONAL,   -- Need N
    reportConfigToRemoveList            ReportConfigToRemoveList                                            OPTIONAL,   -- Need N
    reportConfigToAddModList            ReportConfigToAddModList                                            OPTIONAL,   -- Need N
    measIdToRemoveList                  MeasIdToRemoveList                                                  OPTIONAL,   -- Need N
    measIdToAddModList                  MeasIdToAddModList                                                  OPTIONAL,   -- Need N
    s-MeasureConfig                     CHOICE {
        ssb-RSRP                            RSRP-Range,
        csi-RSRP                            RSRP-Range
    }                                                                                                       OPTIONAL,   -- Need M
    quantityConfig                      QuantityConfig                                                      OPTIONAL,   -- Need M
    measGapConfig                       MeasGapConfig                                                       OPTIONAL,   -- Need M
    measGapSharingConfig                MeasGapSharingConfig                                                OPTIONAL,   -- Need M
    ...,
    [[
    interFrequencyConfig-NoGap-r16      ENUMERATED {true}                                                   OPTIONAL    -- Need R
    ]]
}

MeasObjectToRemoveList ::=              SEQUENCE (SIZE (1..maxNrofObjectId)) OF MeasObjectId

MeasIdToRemoveList ::=                  SEQUENCE (SIZE (1..maxNrofMeasId)) OF MeasId

ReportConfigToRemoveList ::=            SEQUENCE (SIZE (1..maxReportConfigId)) OF ReportConfigId

-- TAG-MEASCONFIG-STOP
-- ASN1STOP

-- ASN1START

-- TAG-MEASGAPCONFIG-START

MeasGapConfig ::=                   SEQUENCE {
    gapFR2                              SetupRelease { GapConfig }                                              OPTIONAL,   -- Need M
    ...,
    [[
    gapFR1                              SetupRelease { GapConfig }                                              OPTIONAL,   -- Need M
    gapUE                               SetupRelease { GapConfig }                                              OPTIONAL    -- Need M
    ]],
    [[
    gapToAddModList-r17           SEQUENCE (SIZE (1..maxNrofGapId-r17)) OF GapConfig-r17                    OPTIONAL,   -- Need N
    gapToReleaseList-r17          SEQUENCE (SIZE (1..maxNrofGapId-r17)) OF MeasGapId-r17                    OPTIONAL,   -- Need N
    posMeasGapPreConfigToAddModList-r17      PosMeasGapPreConfigToAddModList-r17                                OPTIONAL,   -- Need N
    posMeasGapPreConfigToReleaseList-r17     PosMeasGapPreConfigToReleaseList-r17                               OPTIONAL    -- Need N
    ]]

}

GapConfig ::=                       SEQUENCE {
    gapOffset                           INTEGER (0..159),
    mgl                                 ENUMERATED {ms1dot5, ms3, ms3dot5, ms4, ms5dot5, ms6},
    mgrp                                ENUMERATED {ms20, ms40, ms80, ms160},
    mgta                                ENUMERATED {ms0, ms0dot25, ms0dot5},
    ...,
    [[
    refServCellIndicator                ENUMERATED {pCell, pSCell, mcg-FR2}                                 OPTIONAL   -- Cond NEDCorNRDC
    ]],
    [[
    refFR2ServCellAsyncCA-r16           ServCellIndex                                                       OPTIONAL,   -- Cond AsyncCA
    mgl-r16                             ENUMERATED {ms10, ms20}                                             OPTIONAL    -- Cond PRS
    ]]
}

GapConfig-r17 ::=                   SEQUENCE {
    measGapId-r17                       MeasGapId-r17,
    gapType-r17                         ENUMERATED {perUE, perFR1, perFR2},
    gapOffset-r17                       INTEGER (0..159),
    mgl-r17                             ENUMERATED {ms1, ms1dot5, ms2, ms3, ms3dot5, ms4, ms5, ms5dot5, ms6, ms10, ms20},
    mgrp-r17                            ENUMERATED {ms20, ms40, ms80, ms160},
    mgta-r17                            ENUMERATED {ms0, ms0dot25, ms0dot5, ms0dot75},
    refServCellIndicator-r17            ENUMERATED {pCell, pSCell, mcg-FR2}                                 OPTIONAL,   -- Cond NEDCorNRDC
    refFR2-ServCellAsyncCA-r17          ServCellIndex                                                       OPTIONAL,   -- Cond AsyncCA
    preConfigInd-r17                    ENUMERATED {true}                                                   OPTIONAL,   -- Need R
    ncsgInd-r17                         ENUMERATED {true}                                                   OPTIONAL,   -- Need R
    gapAssociationPRS-r17               ENUMERATED {true}                                                   OPTIONAL,   -- Need R
    gapSharing-r17                      MeasGapSharingScheme                                                OPTIONAL,   -- Need R
    gapPriority-r17                     GapPriority-r17                                                     OPTIONAL,   -- Need R
    ...
}

PosMeasGapPreConfigToAddModList-r17 ::= SEQUENCE (SIZE (1..maxNrofPreConfigPosGapId-r17)) OF PosGapConfig-r17

PosMeasGapPreConfigToReleaseList-r17 ::= SEQUENCE (SIZE (1..maxNrofPreConfigPosGapId-r17)) OF MeasPosPreConfigGapId-r17

PosGapConfig-r17 ::=                SEQUENCE {
    measPosPreConfigGapId-r17           MeasPosPreConfigGapId-r17,
    gapOffset-r17                       INTEGER (0..159),
    mgl-r17                             ENUMERATED {ms1dot5, ms3, ms3dot5, ms4, ms5dot5, ms6, ms10, ms20},
    mgrp-r17                            ENUMERATED {ms20, ms40, ms80, ms160},
    mgta-r17                            ENUMERATED {ms0, ms0dot25, ms0dot5},
    gapType-r17                         ENUMERATED {perUE, perFR1, perFR2},
    ...
}

MeasPosPreConfigGapId-r17 ::= INTEGER (1..maxNrofPreConfigPosGapId-r17)

-- TAG-MEASGAPCONFIG-STOP
-- ASN1STOP

-- ASN1START

-- TAG-MEASGAPID-START

MeasGapId-r17 ::=                       INTEGER (1..maxNrofGapId-r17)

-- TAG-MEASGAPID-STOP
-- ASN1STOP

-- ASN1START

-- TAG-MEASGAPSHARINGCONFIG-START

MeasGapSharingConfig ::=        SEQUENCE {
    gapSharingFR2                   SetupRelease { MeasGapSharingScheme }       OPTIONAL,   -- Need M
    ...,
    [[
    gapSharingFR1                   SetupRelease { MeasGapSharingScheme }       OPTIONAL,   --Need M
    gapSharingUE                    SetupRelease { MeasGapSharingScheme }       OPTIONAL    --Need M
    ]]
}

MeasGapSharingScheme ::=         ENUMERATED {scheme00, scheme01, scheme10, scheme11}

-- TAG-MEASGAPSHARINGCONFIG-STOP
-- ASN1STOP

-- ASN1START

-- TAG-MEASID-START

MeasId ::=                          INTEGER (1..maxNrofMeasId)

-- TAG-MEASID-STOP
-- ASN1STOP

-- ASN1START

-- TAG-MEASIDLECONFIG-START

MeasIdleConfigSIB-r16 ::= SEQUENCE {
    measIdleCarrierListNR-r16       SEQUENCE (SIZE (1..maxFreqIdle-r16)) OF MeasIdleCarrierNR-r16          OPTIONAL,     -- Need S
    measIdleCarrierListEUTRA-r16    SEQUENCE (SIZE (1..maxFreqIdle-r16)) OF MeasIdleCarrierEUTRA-r16       OPTIONAL,     -- Need S
    ...
}

MeasIdleConfigDedicated-r16 ::= SEQUENCE {
    measIdleCarrierListNR-r16       SEQUENCE (SIZE (1..maxFreqIdle-r16)) OF MeasIdleCarrierNR-r16          OPTIONAL,     -- Need N
    measIdleCarrierListEUTRA-r16    SEQUENCE (SIZE (1..maxFreqIdle-r16)) OF MeasIdleCarrierEUTRA-r16       OPTIONAL,     -- Need N
    measIdleDuration-r16            ENUMERATED{sec10, sec30, sec60, sec120, sec180, sec240, sec300, spare},
    validityAreaList-r16            ValidityAreaList-r16                                                   OPTIONAL,     -- Need N
    ...
}

ValidityAreaList-r16 ::= SEQUENCE (SIZE (1..maxFreqIdle-r16)) OF ValidityArea-r16

ValidityArea-r16 ::=             SEQUENCE {
    carrierFreq-r16                  ARFCN-ValueNR,
    validityCellList-r16             ValidityCellList                                                     OPTIONAL   -- Need N
}

ValidityCellList ::= SEQUENCE (SIZE (1..maxCellMeasIdle-r16)) OF PCI-Range

MeasIdleCarrierNR-r16 ::=        SEQUENCE {
    carrierFreq-r16                  ARFCN-ValueNR,
    ssbSubcarrierSpacing-r16         SubcarrierSpacing,
    frequencyBandList                MultiFrequencyBandListNR                                             OPTIONAL,  -- Need R
    measCellListNR-r16               CellListNR-r16                                                       OPTIONAL,  -- Need R
    reportQuantities-r16             ENUMERATED {rsrp, rsrq, both},
    qualityThreshold-r16             SEQUENCE {
        idleRSRP-Threshold-NR-r16        RSRP-Range                                                           OPTIONAL,  -- Need R
        idleRSRQ-Threshold-NR-r16        RSRQ-Range                                                           OPTIONAL   -- Need R
    }                                                                                                     OPTIONAL,  -- Need R
    ssb-MeasConfig-r16               SEQUENCE {
        nrofSS-BlocksToAverage-r16          INTEGER (2..maxNrofSS-BlocksToAverage)                            OPTIONAL,   -- Need S
        absThreshSS-BlocksConsolidation-r16 ThresholdNR                                                       OPTIONAL,   -- Need S
        smtc-r16                            SSB-MTC                                                           OPTIONAL,   -- Need S
        ssb-ToMeasure-r16                   SSB-ToMeasure                                                     OPTIONAL,   -- Need S
        deriveSSB-IndexFromCell-r16         BOOLEAN,
        ss-RSSI-Measurement-r16             SS-RSSI-Measurement                                               OPTIONAL    -- Need S
    }                                                                                                     OPTIONAL,  -- Need S
    beamMeasConfigIdle-r16           BeamMeasConfigIdle-NR-r16                                            OPTIONAL,  -- Need R
    ...
}

MeasIdleCarrierEUTRA-r16 ::=     SEQUENCE {
    carrierFreqEUTRA-r16             ARFCN-ValueEUTRA,
    allowedMeasBandwidth-r16         EUTRA-AllowedMeasBandwidth,
    measCellListEUTRA-r16            CellListEUTRA-r16                                                    OPTIONAL,  -- Need R
    reportQuantitiesEUTRA-r16        ENUMERATED {rsrp, rsrq, both},
    qualityThresholdEUTRA-r16        SEQUENCE {
        idleRSRP-Threshold-EUTRA-r16     RSRP-RangeEUTRA                                                      OPTIONAL,  -- Need R
        idleRSRQ-Threshold-EUTRA-r16     RSRQ-RangeEUTRA-r16                                                  OPTIONAL   -- Need R
    }                                                                                                     OPTIONAL,  -- Need S
    ...
}

CellListNR-r16 ::=       SEQUENCE (SIZE (1..maxCellMeasIdle-r16)) OF PCI-Range

CellListEUTRA-r16 ::=    SEQUENCE (SIZE (1..maxCellMeasIdle-r16)) OF EUTRA-PhysCellIdRange

BeamMeasConfigIdle-NR-r16 ::=   SEQUENCE {
    reportQuantityRS-Indexes-r16     ENUMERATED {rsrp, rsrq, both},
    maxNrofRS-IndexesToReport-r16    INTEGER (1..maxNrofIndexesToReport),
    includeBeamMeasurements-r16      BOOLEAN
}

RSRQ-RangeEUTRA-r16 ::=   INTEGER (-30..46)

-- TAG-MEASIDLECONFIG-STOP
-- ASN1STOP

-- ASN1START

-- TAG-MEASIDTOADDMODLIST-START

MeasIdToAddModList ::=              SEQUENCE (SIZE (1..maxNrofMeasId)) OF MeasIdToAddMod

MeasIdToAddMod ::=                  SEQUENCE {
    measId                              MeasId,
    measObjectId                        MeasObjectId,
    reportConfigId                      ReportConfigId
}

-- TAG-MEASIDTOADDMODLIST-STOP
-- ASN1STOP

-- ASN1START

-- TAG-MEASOBJECTCLI-START

MeasObjectCLI-r16 ::=                  SEQUENCE {
     cli-ResourceConfig-r16               CLI-ResourceConfig-r16,
    ...
}

CLI-ResourceConfig-r16 ::=          SEQUENCE {
    srs-ResourceConfig-r16              SetupRelease { SRS-ResourceListConfigCLI-r16 }                 OPTIONAL,   -- Need M
    rssi-ResourceConfig-r16             SetupRelease { RSSI-ResourceListConfigCLI-r16 }                OPTIONAL    -- Need M
}

SRS-ResourceListConfigCLI-r16 ::=   SEQUENCE (SIZE (1..maxNrofCLI-SRS-Resources-r16)) OF SRS-ResourceConfigCLI-r16

RSSI-ResourceListConfigCLI-r16 ::=  SEQUENCE (SIZE (1..maxNrofCLI-RSSI-Resources-r16)) OF RSSI-ResourceConfigCLI-r16

SRS-ResourceConfigCLI-r16 ::=       SEQUENCE {
    srs-Resource-r16                    SRS-Resource,
    srs-SCS-r16                         SubcarrierSpacing,
    refServCellIndex-r16                ServCellIndex                                                  OPTIONAL,   -- Need S
    refBWP-r16                          BWP-Id,
    ...
}

RSSI-ResourceConfigCLI-r16 ::=      SEQUENCE {
    rssi-ResourceId-r16                 RSSI-ResourceId-r16,
    rssi-SCS-r16                        SubcarrierSpacing,
    startPRB-r16                        INTEGER (0..2169),
    nrofPRBs-r16                        INTEGER (4..maxNrofPhysicalResourceBlocksPlus1),
    startPosition-r16                   INTEGER (0..13),
    nrofSymbols-r16                     INTEGER (1..14),
    rssi-PeriodicityAndOffset-r16       RSSI-PeriodicityAndOffset-r16,
    refServCellIndex-r16                ServCellIndex                                                  OPTIONAL,   -- Need S
    ...
}

RSSI-ResourceId-r16 ::=             INTEGER (0..maxNrofCLI-RSSI-Resources-1-r16)

RSSI-PeriodicityAndOffset-r16 ::=   CHOICE {
    sl10                                INTEGER(0..9),
    sl20                                INTEGER(0..19),
    sl40                                INTEGER(0..39),
    sl80                                INTEGER(0..79),
    sl160                               INTEGER(0..159),
    sl320                               INTEGER(0..319),
    s1640                               INTEGER(0..639),
    ...
}

-- TAG-MEASOBJECTCLI-STOP
-- ASN1STOP

-- ASN1START

-- TAG-MEASOBJECTEUTRA-START

MeasObjectEUTRA ::=                          SEQUENCE {
    carrierFreq                                 ARFCN-ValueEUTRA,
    allowedMeasBandwidth                        EUTRA-AllowedMeasBandwidth,
    cellsToRemoveListEUTRAN                     EUTRA-CellIndexList                                         OPTIONAL,    -- Need N
    cellsToAddModListEUTRAN                     SEQUENCE (SIZE (1..maxCellMeasEUTRA)) OF EUTRA-Cell         OPTIONAL,    -- Need N
    excludedCellsToRemoveListEUTRAN             EUTRA-CellIndexList                                         OPTIONAL,    -- Need N
    excludedCellsToAddModListEUTRAN             SEQUENCE (SIZE (1..maxCellMeasEUTRA)) OF EUTRA-ExcludedCell    OPTIONAL,    -- Need N
    eutra-PresenceAntennaPort1                  EUTRA-PresenceAntennaPort1,
    eutra-Q-OffsetRange                         EUTRA-Q-OffsetRange                                         OPTIONAL,    -- Need R
    widebandRSRQ-Meas                           BOOLEAN,
    ...,
    [[
    associatedMeasGap-r17                       MeasGapId-r17                                               OPTIONAL     -- Need R
    ]]
}

EUTRA-CellIndexList ::=                     SEQUENCE (SIZE (1..maxCellMeasEUTRA)) OF EUTRA-CellIndex

EUTRA-CellIndex ::=                         INTEGER (1..maxCellMeasEUTRA)


EUTRA-Cell ::=                              SEQUENCE {
    cellIndexEUTRA                              EUTRA-CellIndex,
    physCellId                                  EUTRA-PhysCellId,
    cellIndividualOffset                        EUTRA-Q-OffsetRange
}


EUTRA-ExcludedCell ::=                      SEQUENCE {
    cellIndexEUTRA                              EUTRA-CellIndex,
    physCellIdRange                             EUTRA-PhysCellIdRange
}

-- TAG-MEASOBJECTEUTRA-STOP
-- ASN1STOP

-- ASN1START

-- TAG-MEASOBJECTID-START

MeasObjectId ::=                    INTEGER (1..maxNrofObjectId)

-- TAG-MEASOBJECTID-STOP
-- ASN1STOP

-- ASN1START

-- TAG-MEASOBJECTNR-START

MeasObjectNR ::=                    SEQUENCE {
    ssbFrequency                        ARFCN-ValueNR                                                   OPTIONAL,   -- Cond SSBorAssociatedSSB
    ssbSubcarrierSpacing                SubcarrierSpacing                                               OPTIONAL,   -- Cond SSBorAssociatedSSB
    smtc1                               SSB-MTC                                                         OPTIONAL,   -- Cond SSBorAssociatedSSB
    smtc2                               SSB-MTC2                                                        OPTIONAL,   -- Cond IntraFreqConnected
    refFreqCSI-RS                       ARFCN-ValueNR                                                   OPTIONAL,   -- Cond CSI-RS
    referenceSignalConfig               ReferenceSignalConfig,
    absThreshSS-BlocksConsolidation     ThresholdNR                                                     OPTIONAL,   -- Need R
    absThreshCSI-RS-Consolidation       ThresholdNR                                                     OPTIONAL,   -- Need R
    nrofSS-BlocksToAverage              INTEGER (2..maxNrofSS-BlocksToAverage)                          OPTIONAL,   -- Need R
    nrofCSI-RS-ResourcesToAverage       INTEGER (2..maxNrofCSI-RS-ResourcesToAverage)                   OPTIONAL,   -- Need R
    quantityConfigIndex                 INTEGER (1..maxNrofQuantityConfig),
    offsetMO                            Q-OffsetRangeList,
    cellsToRemoveList                   PCI-List                                                        OPTIONAL,   -- Need N
    cellsToAddModList                   CellsToAddModList                                               OPTIONAL,   -- Need N
    excludedCellsToRemoveList           PCI-RangeIndexList                                              OPTIONAL,   -- Need N
    excludedCellsToAddModList           SEQUENCE (SIZE (1..maxNrofPCI-Ranges)) OF PCI-RangeElement      OPTIONAL,   -- Need N
    allowedCellsToRemoveList            PCI-RangeIndexList                                              OPTIONAL,   -- Need N
    allowedCellsToAddModList            SEQUENCE (SIZE (1..maxNrofPCI-Ranges)) OF PCI-RangeElement      OPTIONAL,   -- Need N
    ...,
    [[
    freqBandIndicatorNR                 FreqBandIndicatorNR                                             OPTIONAL,   -- Need R
    measCycleSCell                      ENUMERATED {sf160, sf256, sf320, sf512, sf640, sf1024, sf1280}  OPTIONAL    -- Need R
    ]],
    [[
    smtc3list-r16                       SSB-MTC3List-r16                                                OPTIONAL,   -- Need R
    rmtc-Config-r16                     SetupRelease {RMTC-Config-r16}                                  OPTIONAL,   -- Need M
    t312-r16                            SetupRelease { T312-r16 }                                       OPTIONAL    -- Need M
    ]],
    [[
    associatedMeasGapSSB-r17            MeasGapId-r17                                                   OPTIONAL,   -- Need R
    associatedMeasGapCSIRS-r17          MeasGapId-r17                                                   OPTIONAL,   -- Need R
    smtc4list-r17                       SSB-MTC4List-r17                                                OPTIONAL,    -- Need R
    measCyclePSCell-r17                 ENUMERATED {ms160, ms256, ms320, ms512, ms640, ms1024, ms1280, spare1}
                                                                                                        OPTIONAL,   -- Cond SCG
    cellsToAddModListExt-v1710          CellsToAddModListExt-v1710                                      OPTIONAL    -- Need N
   ]],
   [[
    associatedMeasGapSSB2-v1720         MeasGapId-r17                                               OPTIONAL, -- Cond AssociatedGapSSB
    associatedMeasGapCSIRS2-v1720       MeasGapId-r17                                               OPTIONAL  -- Cond AssociatedGapCSIRS
   ]]
}

SSB-MTC3List-r16 ::=                 SEQUENCE (SIZE(1..4)) OF SSB-MTC3-r16

SSB-MTC4List-r17 ::=                 SEQUENCE (SIZE(1..3)) OF SSB-MTC4-r17

T312-r16 ::=                        ENUMERATED { ms0, ms50, ms100, ms200, ms300, ms400, ms500, ms1000}

ReferenceSignalConfig ::=            SEQUENCE {
    ssb-ConfigMobility                  SSB-ConfigMobility                                              OPTIONAL,   -- Need M
    csi-rs-ResourceConfigMobility       SetupRelease { CSI-RS-ResourceConfigMobility }                  OPTIONAL    -- Need M
}

SSB-ConfigMobility ::=               SEQUENCE {
    ssb-ToMeasure                       SetupRelease { SSB-ToMeasure }                                  OPTIONAL,   -- Need M
    deriveSSB-IndexFromCell             BOOLEAN,
    ss-RSSI-Measurement                 SS-RSSI-Measurement                                             OPTIONAL,   -- Need M
    ...,
    [[
    ssb-PositionQCL-Common-r16              SSB-PositionQCL-Relation-r16                                OPTIONAL,   -- Cond SharedSpectrum
    ssb-PositionQCL-CellsToAddModList-r16   SSB-PositionQCL-CellsToAddModList-r16                       OPTIONAL,   -- Need N
    ssb-PositionQCL-CellsToRemoveList-r16   PCI-List                                                    OPTIONAL    -- Need N
    ]],
    [[
    deriveSSB-IndexFromCellInter-r17    ServCellIndex                                                   OPTIONAL,   -- Need R
    ssb-PositionQCL-Common-r17          SSB-PositionQCL-Relation-r17                                OPTIONAL,   -- Cond SharedSpectrum2
    ssb-PositionQCL-Cells-r17           SetupRelease {SSB-PositionQCL-CellList-r17}                     OPTIONAL    -- Need M
    ]],
    [[
    cca-CellsToAddModList-r17           PCI-List                                                        OPTIONAL,   -- Need N
    cca-CellsToRemoveList-r17           PCI-List                                                        OPTIONAL    -- Need N
    ]]
}

Q-OffsetRangeList ::=               SEQUENCE {
    rsrpOffsetSSB                       Q-OffsetRange               DEFAULT dB0,
    rsrqOffsetSSB                       Q-OffsetRange               DEFAULT dB0,
    sinrOffsetSSB                       Q-OffsetRange               DEFAULT dB0,
    rsrpOffsetCSI-RS                    Q-OffsetRange               DEFAULT dB0,
    rsrqOffsetCSI-RS                    Q-OffsetRange               DEFAULT dB0,
    sinrOffsetCSI-RS                    Q-OffsetRange               DEFAULT dB0
}


ThresholdNR ::=                     SEQUENCE{
    thresholdRSRP                       RSRP-Range                                                      OPTIONAL,   -- Need R
    thresholdRSRQ                       RSRQ-Range                                                      OPTIONAL,   -- Need R
    thresholdSINR                       SINR-Range                                                      OPTIONAL    -- Need R
}

CellsToAddModList ::=               SEQUENCE (SIZE (1..maxNrofCellMeas)) OF CellsToAddMod

CellsToAddModListExt-v1710 ::=      SEQUENCE (SIZE (1..maxNrofCellMeas)) OF CellsToAddModExt-v1710

CellsToAddMod ::=                   SEQUENCE {
    physCellId                          PhysCellId,
    cellIndividualOffset                Q-OffsetRangeList
}

CellsToAddModExt-v1710 ::=          SEQUENCE {
    ntn-PolarizationDL-r17              ENUMERATED {rhcp,lhcp,linear}                                   OPTIONAL,  -- Need R
    ntn-PolarizationUL-r17              ENUMERATED {rhcp,lhcp,linear}                                   OPTIONAL   -- Need R
}

RMTC-Config-r16 ::=                 SEQUENCE {
    rmtc-Periodicity-r16                ENUMERATED {ms40, ms80, ms160, ms320, ms640},
    rmtc-SubframeOffset-r16             INTEGER(0..639)                                                 OPTIONAL,   -- Need M
    measDurationSymbols-r16             ENUMERATED {sym1, sym14or12, sym28or24, sym42or36, sym70or60},
    rmtc-Frequency-r16                  ARFCN-ValueNR,
    ref-SCS-CP-r16                      ENUMERATED {kHz15, kHz30, kHz60-NCP, kHz60-ECP},
    ...,
    [[
    rmtc-Bandwidth-r17                  ENUMERATED {mhz100, mhz400, mhz800, mhz1600, mhz2000}           OPTIONAL,   -- Need R
    measDurationSymbols-v1700           ENUMERATED {sym140, sym560, sym1120}                            OPTIONAL,   -- Need R
    ref-SCS-CP-v1700                    ENUMERATED {kHz120, kHz480, kHz960}                             OPTIONAL,   -- Need R
    tci-StateInfo-r17               SEQUENCE {
        tci-StateId-r17                  TCI-StateId,
        ref-ServCellId-r17               ServCellIndex                                                  OPTIONAL   -- Need R
    } OPTIONAL -- Need R
    ]],
    [[
    ref-BWPId-r17                   BWP-Id                                                              OPTIONAL   -- Need R
    ]]
}

SSB-PositionQCL-CellsToAddModList-r16 ::= SEQUENCE (SIZE (1..maxNrofCellMeas)) OF SSB-PositionQCL-CellsToAddMod-r16

SSB-PositionQCL-CellsToAddMod-r16 ::= SEQUENCE {
    physCellId-r16                        PhysCellId,
    ssb-PositionQCL-r16                   SSB-PositionQCL-Relation-r16
}

SSB-PositionQCL-CellList-r17 ::= SEQUENCE (SIZE (1..maxNrofCellMeas)) OF SSB-PositionQCL-Cell-r17

SSB-PositionQCL-Cell-r17 ::= SEQUENCE {
    physCellId-r17                        PhysCellId,
    ssb-PositionQCL-r17                   SSB-PositionQCL-Relation-r17
}

-- TAG-MEASOBJECTNR-STOP
-- ASN1STOP

-- ASN1START

-- TAG-MEASOBJECTNR-SL-START

MeasObjectNR-SL-r16 ::=      SEQUENCE {
    tx-PoolMeasToRemoveList-r16  Tx-PoolMeasList-r16                           OPTIONAL,       -- Need N
    tx-PoolMeasToAddModList-r16  Tx-PoolMeasList-r16                           OPTIONAL        -- Need N
}

Tx-PoolMeasList-r16 ::= SEQUENCE (SIZE (1..maxNrofSL-PoolToMeasureNR-r16)) OF SL-ResourcePoolID-r16

-- TAG-MEASOBJECTNR-SL-STOP
-- ASN1STOP

-- ASN1START

-- TAG-MEASOBJECTRXTXDIFF-START


MeasObjectRxTxDiff-r17 ::=      SEQUENCE {
    dl-Ref-r17      CHOICE {
        prs-Ref-r17             NULL,
        csi-RS-Ref-r17          NULL,
        ...
    }                               OPTIONAL,   -- Need R
    ...
}

-- TAG-MEASOBJECTRXTXDIFF-STOP
-- ASN1STOP

-- ASN1START

-- TAG-MEASOBJECTTOADDMODLIST-START

MeasObjectToAddModList ::=                  SEQUENCE (SIZE (1..maxNrofObjectId)) OF MeasObjectToAddMod

MeasObjectToAddMod ::=                      SEQUENCE {
    measObjectId                                MeasObjectId,
    measObject                                  CHOICE {
        measObjectNR                                MeasObjectNR,
        ...,
        measObjectEUTRA                             MeasObjectEUTRA,
        measObjectUTRA-FDD-r16                      MeasObjectUTRA-FDD-r16,
        measObjectNR-SL-r16                         MeasObjectNR-SL-r16,
        measObjectCLI-r16                           MeasObjectCLI-r16,
        measObjectRxTxDiff-r17                      MeasObjectRxTxDiff-r17,
        measObjectRelay-r17                         SL-MeasObject-r16
    }
}

-- TAG-MEASOBJECTTOADDMODLIST-STOP
-- ASN1STOP

-- ASN1START

-- TAG-MEASOBJECTUTRA-FDD-START

MeasObjectUTRA-FDD-r16 ::=                  SEQUENCE {
    carrierFreq-r16                             ARFCN-ValueUTRA-FDD-r16,
    utra-FDD-Q-OffsetRange-r16                  UTRA-FDD-Q-OffsetRange-r16              OPTIONAL,         -- Need R
    cellsToRemoveList-r16                       UTRA-FDD-CellIndexList-r16              OPTIONAL,         -- Need N
    cellsToAddModList-r16                       CellsToAddModListUTRA-FDD-r16           OPTIONAL,         -- Need N
    ...
}

CellsToAddModListUTRA-FDD-r16 ::=           SEQUENCE (SIZE (1..maxCellMeasUTRA-FDD-r16)) OF CellsToAddModUTRA-FDD-r16

CellsToAddModUTRA-FDD-r16 ::=               SEQUENCE {
    cellIndexUTRA-FDD-r16                       UTRA-FDD-CellIndex-r16,
    physCellId-r16                              PhysCellIdUTRA-FDD-r16
}

UTRA-FDD-CellIndexList-r16 ::=              SEQUENCE (SIZE (1..maxCellMeasUTRA-FDD-r16)) OF UTRA-FDD-CellIndex-r16

UTRA-FDD-CellIndex-r16 ::=                  INTEGER (1..maxCellMeasUTRA-FDD-r16)

-- TAG-MEASOBJECTUTRA-FDD-STOP
-- ASN1STOP

-- ASN1START

-- TAG-MEASRESULTCELLLISTSFTD-NR-START

MeasResultCellListSFTD-NR ::=          SEQUENCE (SIZE (1..maxCellSFTD)) OF MeasResultCellSFTD-NR

MeasResultCellSFTD-NR ::=              SEQUENCE {
    physCellId                            PhysCellId,
    sfn-OffsetResult                      INTEGER (0..1023),
    frameBoundaryOffsetResult             INTEGER (-30720..30719),
    rsrp-Result                           RSRP-Range                      OPTIONAL
}

-- TAG-MEASRESULTCELLLISTSFTD-NR-STOP
-- ASN1STOP

-- ASN1START

-- TAG-MEASRESULTCELLLISTSFTD-EUTRA-START

MeasResultCellListSFTD-EUTRA ::=          SEQUENCE (SIZE (1..maxCellSFTD)) OF MeasResultSFTD-EUTRA

MeasResultSFTD-EUTRA ::=           SEQUENCE {
    eutra-PhysCellId                    EUTRA-PhysCellId,
    sfn-OffsetResult                    INTEGER (0..1023),
    frameBoundaryOffsetResult           INTEGER (-30720..30719),
    rsrp-Result                         RSRP-Range                      OPTIONAL
}

-- TAG-MEASRESULTCELLLISTSFTD-EUTRA-STOP
-- ASN1STOP

-- ASN1START

-- TAG-MEASRESULTS-START

MeasResults ::=                         SEQUENCE {
    measId                                  MeasId,
    measResultServingMOList                 MeasResultServMOList,
    measResultNeighCells                    CHOICE {
        measResultListNR                        MeasResultListNR,
        ...,
        measResultListEUTRA                     MeasResultListEUTRA,
        measResultListUTRA-FDD-r16              MeasResultListUTRA-FDD-r16,
        sl-MeasResultsCandRelay-r17             OCTET STRING        -- Contains PC5 SL-MeasResultListRelay-r17
    }                                                                                                                   OPTIONAL,
    ...,
    [[
    measResultServFreqListEUTRA-SCG         MeasResultServFreqListEUTRA-SCG                                             OPTIONAL,
    measResultServFreqListNR-SCG            MeasResultServFreqListNR-SCG                                                OPTIONAL,
    measResultSFTD-EUTRA                    MeasResultSFTD-EUTRA                                                        OPTIONAL,
    measResultSFTD-NR                       MeasResultCellSFTD-NR                                                       OPTIONAL
     ]],
     [[
    measResultCellListSFTD-NR               MeasResultCellListSFTD-NR                                                   OPTIONAL
    ]],
    [[
    measResultForRSSI-r16                   MeasResultForRSSI-r16                                                       OPTIONAL,
    locationInfo-r16                        LocationInfo-r16                                                            OPTIONAL,
    ul-PDCP-DelayValueResultList-r16        UL-PDCP-DelayValueResultList-r16                                            OPTIONAL,
    measResultsSL-r16                       MeasResultsSL-r16                                                           OPTIONAL,
    measResultCLI-r16                       MeasResultCLI-r16                                                           OPTIONAL
    ]],
    [[
    measResultRxTxTimeDiff-r17              MeasResultRxTxTimeDiff-r17                                                  OPTIONAL,
    sl-MeasResultServingRelay-r17           OCTET STRING                                                                OPTIONAL,
                                                                                          -- Contains PC5 SL-MeasResultRelay-r17
    ul-PDCP-ExcessDelayResultList-r17       UL-PDCP-ExcessDelayResultList-r17                                           OPTIONAL,
    coarseLocationInfo-r17                  OCTET STRING                                                                OPTIONAL
    ]]
}

MeasResultServMOList ::=                SEQUENCE (SIZE (1..maxNrofServingCells)) OF MeasResultServMO

MeasResultServMO ::=                    SEQUENCE {
    servCellId                              ServCellIndex,
    measResultServingCell                   MeasResultNR,
    measResultBestNeighCell                 MeasResultNR                                                                OPTIONAL,
    ...
}

MeasResultListNR ::=                    SEQUENCE (SIZE (1..maxCellReport)) OF MeasResultNR

MeasResultNR ::=                        SEQUENCE {
    physCellId                              PhysCellId                                                                  OPTIONAL,
    measResult                              SEQUENCE {
        cellResults                             SEQUENCE{
            resultsSSB-Cell                         MeasQuantityResults                                                 OPTIONAL,
            resultsCSI-RS-Cell                      MeasQuantityResults                                                 OPTIONAL
        },
        rsIndexResults                          SEQUENCE{
            resultsSSB-Indexes                      ResultsPerSSB-IndexList                                             OPTIONAL,
            resultsCSI-RS-Indexes                   ResultsPerCSI-RS-IndexList                                          OPTIONAL
        }                                                                                                               OPTIONAL
    },
    ...,
    [[
    cgi-Info                                CGI-InfoNR                                                                  OPTIONAL
    ]] ,
    [[
    choCandidate-r17                        ENUMERATED {true}                                                           OPTIONAL,
    choConfig-r17                           SEQUENCE (SIZE (1..2)) OF CondTriggerConfig-r16                             OPTIONAL,
    triggeredEvent-r17                      SEQUENCE {
        timeBetweenEvents-r17                   TimeBetweenEvent-r17                                                    OPTIONAL,
        firstTriggeredEvent                     ENUMERATED {condFirstEvent, condSecondEvent}                            OPTIONAL
        }                                                                                                               OPTIONAL
    ]]
}

MeasResultListEUTRA ::=                 SEQUENCE (SIZE (1..maxCellReport)) OF MeasResultEUTRA

MeasResultEUTRA ::=                     SEQUENCE {
    eutra-PhysCellId                        PhysCellId,
    measResult                              MeasQuantityResultsEUTRA,

    cgi-Info                                CGI-InfoEUTRA                                                               OPTIONAL,
    ...
}

MultiBandInfoListEUTRA ::=              SEQUENCE (SIZE (1..maxMultiBands)) OF FreqBandIndicatorEUTRA

MeasQuantityResults ::=                 SEQUENCE {
    rsrp                                    RSRP-Range                                                                  OPTIONAL,
    rsrq                                    RSRQ-Range                                                                  OPTIONAL,
    sinr                                    SINR-Range                                                                  OPTIONAL
}

MeasQuantityResultsEUTRA ::=            SEQUENCE {
    rsrp                                    RSRP-RangeEUTRA                                                             OPTIONAL,
    rsrq                                    RSRQ-RangeEUTRA                                                             OPTIONAL,
    sinr                                    SINR-RangeEUTRA                                                             OPTIONAL
}

ResultsPerSSB-IndexList ::=              SEQUENCE (SIZE (1..maxNrofIndexesToReport2)) OF ResultsPerSSB-Index

ResultsPerSSB-Index ::=                 SEQUENCE {
    ssb-Index                               SSB-Index,
    ssb-Results                             MeasQuantityResults                                                         OPTIONAL
}

ResultsPerCSI-RS-IndexList ::=           SEQUENCE (SIZE (1..maxNrofIndexesToReport2)) OF ResultsPerCSI-RS-Index

ResultsPerCSI-RS-Index ::=              SEQUENCE {
    csi-RS-Index                            CSI-RS-Index,
    csi-RS-Results                          MeasQuantityResults                                                         OPTIONAL
}
MeasResultServFreqListEUTRA-SCG ::= SEQUENCE (SIZE (1..maxNrofServingCellsEUTRA)) OF MeasResult2EUTRA

MeasResultServFreqListNR-SCG ::= SEQUENCE (SIZE (1..maxNrofServingCells)) OF MeasResult2NR

MeasResultListUTRA-FDD-r16 ::=          SEQUENCE (SIZE (1..maxCellReport)) OF MeasResultUTRA-FDD-r16

MeasResultUTRA-FDD-r16 ::=              SEQUENCE {
    physCellId-r16                          PhysCellIdUTRA-FDD-r16,
    measResult-r16                          SEQUENCE {
        utra-FDD-RSCP-r16                       INTEGER (-5..91)          OPTIONAL,
        utra-FDD-EcN0-r16                       INTEGER (0..49)           OPTIONAL
    }
}

MeasResultForRSSI-r16 ::=        SEQUENCE {
    rssi-Result-r16                  RSSI-Range-r16,
    channelOccupancy-r16             INTEGER (0..100)
}

MeasResultCLI-r16 ::=            SEQUENCE {
    measResultListSRS-RSRP-r16       MeasResultListSRS-RSRP-r16                                                         OPTIONAL,
    measResultListCLI-RSSI-r16       MeasResultListCLI-RSSI-r16                                                         OPTIONAL
}

MeasResultListSRS-RSRP-r16 ::=   SEQUENCE (SIZE (1..maxCLI-Report-r16)) OF MeasResultSRS-RSRP-r16

MeasResultSRS-RSRP-r16 ::=       SEQUENCE {
    srs-ResourceId-r16               SRS-ResourceId,
    srs-RSRP-Result-r16              SRS-RSRP-Range-r16
}

MeasResultListCLI-RSSI-r16 ::=   SEQUENCE (SIZE (1..maxCLI-Report-r16)) OF MeasResultCLI-RSSI-r16

MeasResultCLI-RSSI-r16 ::=       SEQUENCE {
    rssi-ResourceId-r16              RSSI-ResourceId-r16,
    cli-RSSI-Result-r16              CLI-RSSI-Range-r16
}

UL-PDCP-DelayValueResultList-r16 ::= SEQUENCE (SIZE (1..maxDRB)) OF UL-PDCP-DelayValueResult-r16

UL-PDCP-DelayValueResult-r16 ::= SEQUENCE {
    drb-Id-r16                       DRB-Identity,
    averageDelay-r16                 INTEGER (0..10000),
    ...
}

UL-PDCP-ExcessDelayResultList-r17 ::= SEQUENCE (SIZE (1..maxDRB)) OF UL-PDCP-ExcessDelayResult-r17

UL-PDCP-ExcessDelayResult-r17 ::= SEQUENCE {
    drb-Id-r17                        DRB-Identity,
    excessDelay-r17                   INTEGER (0..31),
    ...
}

TimeBetweenEvent-r17 ::= INTEGER (0..1023)

-- TAG-MEASRESULTS-STOP
-- ASN1STOP

-- ASN1START

-- TAG-MEASRESULT2EUTRA-START

MeasResult2EUTRA ::=       SEQUENCE {
    carrierFreq                         ARFCN-ValueEUTRA,
    measResultServingCell               MeasResultEUTRA                 OPTIONAL,
    measResultBestNeighCell             MeasResultEUTRA                 OPTIONAL,
    ...
}

-- TAG-MEASRESULT2EUTRA-STOP
-- ASN1STOP

-- ASN1START

-- TAG-MEASRESULT2NR-START

MeasResult2NR ::=                   SEQUENCE {
    ssbFrequency                        ARFCN-ValueNR                           OPTIONAL,
    refFreqCSI-RS                       ARFCN-ValueNR                           OPTIONAL,
    measResultServingCell               MeasResultNR                            OPTIONAL,
    measResultNeighCellListNR           MeasResultListNR                        OPTIONAL,
    ...
}

-- TAG-MEASRESULT2NR-STOP
-- ASN1STOP

-- ASN1START

-- TAG-MEASRESULTIDLEEUTRA-START

MeasResultIdleEUTRA-r16 ::= SEQUENCE {
    measResultsPerCarrierListIdleEUTRA-r16   SEQUENCE (SIZE (1..maxFreqIdle-r16)) OF MeasResultsPerCarrierIdleEUTRA-r16,
    ...
}

MeasResultsPerCarrierIdleEUTRA-r16 ::=  SEQUENCE {
    carrierFreqEUTRA-r16                    ARFCN-ValueEUTRA,
    measResultsPerCellListIdleEUTRA-r16     SEQUENCE (SIZE (1..maxCellMeasIdle-r16)) OF MeasResultsPerCellIdleEUTRA-r16,
    ...
}

MeasResultsPerCellIdleEUTRA-r16 ::=     SEQUENCE {
    eutra-PhysCellId-r16                    EUTRA-PhysCellId,
    measIdleResultEUTRA-r16                 SEQUENCE {
       rsrp-ResultEUTRA-r16                     RSRP-RangeEUTRA                                                     OPTIONAL,
       rsrq-ResultEUTRA-r16                     RSRQ-RangeEUTRA-r16                                                 OPTIONAL
    },
    ...
}

-- TAG-MEASRESULTIDLEEUTRA-STOP
-- ASN1STOP

-- ASN1START

-- TAG-MEASRESULTIDLENR-START

MeasResultIdleNR-r16 ::=  SEQUENCE {
    measResultServingCell-r16 SEQUENCE {
        rsrp-Result-r16           RSRP-Range                                                                        OPTIONAL,
        rsrq-Result-r16           RSRQ-Range                                                                        OPTIONAL,
        resultsSSB-Indexes-r16    ResultsPerSSB-IndexList-r16                                                       OPTIONAL
    },
    measResultsPerCarrierListIdleNR-r16 SEQUENCE (SIZE (1..maxFreqIdle-r16)) OF MeasResultsPerCarrierIdleNR-r16    OPTIONAL,
    ...
}

MeasResultsPerCarrierIdleNR-r16 ::=   SEQUENCE {
    carrierFreq-r16                       ARFCN-ValueNR,
    measResultsPerCellListIdleNR-r16      SEQUENCE (SIZE (1..maxCellMeasIdle-r16)) OF MeasResultsPerCellIdleNR-r16,
    ...
}

MeasResultsPerCellIdleNR-r16 ::=  SEQUENCE {
    physCellId-r16                    PhysCellId,
    measIdleResultNR-r16              SEQUENCE {
        rsrp-Result-r16                   RSRP-Range                                                              OPTIONAL,
        rsrq-Result-r16                   RSRQ-Range                                                              OPTIONAL,
        resultsSSB-Indexes-r16            ResultsPerSSB-IndexList-r16                                             OPTIONAL
    },
    ...
}

ResultsPerSSB-IndexList-r16 ::=   SEQUENCE (SIZE (1..maxNrofIndexesToReport)) OF ResultsPerSSB-IndexIdle-r16

ResultsPerSSB-IndexIdle-r16 ::=   SEQUENCE {
    ssb-Index-r16                     SSB-Index,
    ssb-Results-r16                   SEQUENCE {
        ssb-RSRP-Result-r16               RSRP-Range                                                              OPTIONAL,
        ssb-RSRQ-Result-r16               RSRQ-Range                                                              OPTIONAL
    }                                                                                                     OPTIONAL
}

-- TAG-MEASRESULTIDLENR-STOP
-- ASN1STOP

-- ASN1START

-- TAG-MEASRESULTRXTXTIMEDIFF-START

MeasResultRxTxTimeDiff-r17 ::= SEQUENCE {
    rxTxTimeDiff-ue-r17            RxTxTimeDiff-r17      OPTIONAL,
    ...
}

-- TAG-MEASRESULTRXTXTIMEDIFF-STOP
-- ASN1STOP

-- ASN1START

-- TAG-MEASRESULTSCG-FAILURE-START

MeasResultSCG-Failure ::=           SEQUENCE {
    measResultPerMOList                 MeasResultList2NR,
    ...,
    [[
    locationInfo-r16                    LocationInfo-r16            OPTIONAL
    ]]
}

MeasResultList2NR ::=               SEQUENCE (SIZE (1..maxFreq)) OF MeasResult2NR

-- TAG-MEASRESULTSCG-FAILURE-STOP
-- ASN1STOP

-- ASN1START

-- TAG-MEASRESULTSSL-START

MeasResultsSL-r16 ::=         SEQUENCE {
    measResultsListSL-r16         CHOICE {
        measResultNR-SL-r16           MeasResultNR-SL-r16,
        ...
    },
    ...
}

MeasResultNR-SL-r16 ::=       SEQUENCE {
    measResultListCBR-NR-r16      SEQUENCE (SIZE (1..maxNrofSL-PoolToMeasureNR-r16)) OF MeasResultCBR-NR-r16,
    ...
}

MeasResultCBR-NR-r16 ::=      SEQUENCE {
    sl-poolReportIdentity-r16     SL-ResourcePoolID-r16,
    sl-CBR-ResultsNR-r16          SL-CBR-r16,
    ...
}

-- TAG-MEASRESULTSSL-STOP
-- ASN1STOP

-- ASN1START

-- TAG-MEASTRIGGERQUANTITYEUTRA-START

MeasTriggerQuantityEUTRA ::=                 CHOICE {
    rsrp                                        RSRP-RangeEUTRA,
    rsrq                                        RSRQ-RangeEUTRA,
    sinr                                        SINR-RangeEUTRA
}

RSRP-RangeEUTRA ::=                 INTEGER (0..97)

RSRQ-RangeEUTRA ::=                 INTEGER (0..34)

SINR-RangeEUTRA ::=                 INTEGER (0..127)

-- TAG-MEASTRIGGERQUANTITYEUTRA-STOP
-- ASN1STOP

-- ASN1START

-- TAG-MOBILITYSTATEPARAMETERS-START

MobilityStateParameters ::=         SEQUENCE{
    t-Evaluation                        ENUMERATED {
                                            s30, s60, s120, s180, s240, spare3, spare2, spare1},
    t-HystNormal                        ENUMERATED {
                                            s30, s60, s120, s180, s240, spare3, spare2, spare1},
    n-CellChangeMedium                  INTEGER (1..16),
    n-CellChangeHigh                    INTEGER (1..16)
}

-- TAG-MOBILITYSTATEPARAMETERS-STOP
-- ASN1STOP

-- ASN1START

-- TAG-MRB-IDENTITY-START

MRB-Identity-r17 ::=                    INTEGER (1..512)

-- TAG-MRB-IDENTITY-STOP
-- ASN1STOP

-- ASN1START

-- TAG-MSGACONFIGCOMMON-START

MsgA-ConfigCommon-r16 ::=           SEQUENCE {
    rach-ConfigCommonTwoStepRA-r16      RACH-ConfigCommonTwoStepRA-r16,
    msgA-PUSCH-Config-r16               MsgA-PUSCH-Config-r16                                      OPTIONAL --Cond InitialBWPConfig
}

-- TAG-MSGACONFIGCOMMON-STOP
-- ASN1STOP

-- ASN1START

-- TAG-MSGA-PUSCH-CONFIG-START

MsgA-PUSCH-Config-r16 ::=                      SEQUENCE {
    msgA-PUSCH-ResourceGroupA-r16                  MsgA-PUSCH-Resource-r16                                       OPTIONAL, -- Cond InitialBWPConfig
    msgA-PUSCH-ResourceGroupB-r16                  MsgA-PUSCH-Resource-r16                                       OPTIONAL, -- Cond GroupBConfigured
    msgA-TransformPrecoder-r16                     ENUMERATED {enabled, disabled}                                OPTIONAL, -- Need R
    msgA-DataScramblingIndex-r16                   INTEGER (0..1023)                                             OPTIONAL, -- Need S
    msgA-DeltaPreamble-r16                         INTEGER (-1..6)                                               OPTIONAL  -- Need R
}

MsgA-PUSCH-Resource-r16 ::=                    SEQUENCE {
    msgA-MCS-r16                                   INTEGER (0..15),
    nrofSlotsMsgA-PUSCH-r16                        INTEGER (1..4),
    nrofMsgA-PO-PerSlot-r16                        ENUMERATED {one, two, three, six},
    msgA-PUSCH-TimeDomainOffset-r16                INTEGER (1..32),
    msgA-PUSCH-TimeDomainAllocation-r16            INTEGER (1..maxNrofUL-Allocations)                            OPTIONAL, -- Need S
    startSymbolAndLengthMsgA-PO-r16                INTEGER (0..127)                                              OPTIONAL, -- Need S
    mappingTypeMsgA-PUSCH-r16                      ENUMERATED {typeA, typeB}                                     OPTIONAL, -- Need S
    guardPeriodMsgA-PUSCH-r16                      INTEGER (0..3)                                                OPTIONAL, -- Need R
    guardBandMsgA-PUSCH-r16                        INTEGER (0..1),
    frequencyStartMsgA-PUSCH-r16                   INTEGER (0..maxNrofPhysicalResourceBlocks-1),
    nrofPRBs-PerMsgA-PO-r16                        INTEGER (1..32),
    nrofMsgA-PO-FDM-r16                            ENUMERATED {one, two, four, eight},
    msgA-IntraSlotFrequencyHopping-r16             ENUMERATED {enabled}                                          OPTIONAL, -- Need R
    msgA-HoppingBits-r16                           BIT STRING (SIZE(2))                                          OPTIONAL, -- Cond FreqHopConfigured
    msgA-DMRS-Config-r16                           MsgA-DMRS-Config-r16,
    nrofDMRS-Sequences-r16                         INTEGER (1..2),
    msgA-Alpha-r16                                 ENUMERATED {alpha0, alpha04, alpha05, alpha06,
                                                               alpha07, alpha08, alpha09, alpha1}                OPTIONAL, -- Need S
    interlaceIndexFirstPO-MsgA-PUSCH-r16           INTEGER (1..10)                                               OPTIONAL, -- Need R
    nrofInterlacesPerMsgA-PO-r16                   INTEGER (1..10)                                               OPTIONAL, -- Need R
    ...
}

MsgA-DMRS-Config-r16 ::=                       SEQUENCE {
    msgA-DMRS-AdditionalPosition-r16               ENUMERATED {pos0, pos1, pos3}                                 OPTIONAL, -- Need S
    msgA-MaxLength-r16                             ENUMERATED {len2}                                             OPTIONAL, -- Need S
    msgA-PUSCH-DMRS-CDM-Group-r16                  INTEGER (0..1)                                                OPTIONAL, -- Need S
    msgA-PUSCH-NrofPorts-r16                       INTEGER (0..1)                                                OPTIONAL, -- Need S
    msgA-ScramblingID0-r16                         INTEGER (0..65535)                                            OPTIONAL, -- Need S
    msgA-ScramblingID1-r16                         INTEGER (0..65535)                                            OPTIONAL  -- Need S
}

-- TAG-MSGA-PUSCH-CONFIG-STOP
-- ASN1STOP

-- ASN1START

-- TAG-MULTIFREQUENCYBANDLISTNR-START

MultiFrequencyBandListNR ::=        SEQUENCE (SIZE (1..maxNrofMultiBands)) OF FreqBandIndicatorNR

-- TAG-MULTIFREQUENCYBANDLISTNR-STOP
-- ASN1STOP

-- ASN1START

-- TAG-MULTIFREQUENCYBANDLISTNR-SIB-START

MultiFrequencyBandListNR-SIB ::=            SEQUENCE (SIZE (1..maxNrofMultiBands)) OF NR-MultiBandInfo

NR-MultiBandInfo ::=                        SEQUENCE {
    freqBandIndicatorNR                         FreqBandIndicatorNR         OPTIONAL,   -- Cond OptULNotSIB2
    nr-NS-PmaxList                              NR-NS-PmaxList              OPTIONAL    -- Need S
}

-- TAG-MULTIFREQUENCYBANDLISTNR-SIB-STOP
-- ASN1STOP

-- ASN1START

-- TAG-MUSIM-GAPCONFIG-START

MUSIM-GapConfig-r17 ::=                  SEQUENCE {
	musim-GapToReleaseList-r17       SEQUENCE (SIZE (1..3)) OF MUSIM-GapId-r17               OPTIONAL, -- Need N
	musim-GapToAddModList-r17        SEQUENCE (SIZE (1..3)) OF MUSIM-Gap-r17             OPTIONAL, -- Need N
	musim-AperiodicGap-r17           MUSIM-GapInfo-r17                OPTIONAL, -- Need N
   ...
}
MUSIM-Gap-r17 ::=          SEQUENCE {
    musim-GapId-r17                        MUSIM-GapId-r17,
    musim-GapInfo-r17                      MUSIM-GapInfo-r17

}

-- TAG-MUSIM-GAPCONFIG-STOP
-- ASN1STOP

-- ASN1START

-- TAG-MUSIM-GAPID-START

MUSIM-GapId-r17 ::=                  INTEGER (0..2)

-- TAG-MUSIM-GAPID-STOP
-- ASN1STOP

-- ASN1START

-- TAG-MUSIM-GAPINFO-START

MUSIM-GapInfo-r17 ::=               SEQUENCE {
    musim-Starting-SFN-AndSubframe-r17  MUSIM-Starting-SFN-AndSubframe-r17             OPTIONAL, -- Cond aperiodic
    musim-GapLength-r17                 ENUMERATED {ms3, ms4, ms6, ms10, ms20}         OPTIONAL, -- Cond gapSetup
    musim-GapRepetitionAndOffset-r17    CHOICE {
        ms20-r17                            INTEGER (0..19),
        ms40-r17                            INTEGER (0..39),
        ms80-r17                            INTEGER (0..79),
        ms160-r17                           INTEGER (0..159),
        ms320-r17                           INTEGER (0..319),
        ms640-r17                           INTEGER (0..639),
        ms1280-r17                          INTEGER (0..1279),
        ms2560-r17                          INTEGER (0..2559),
        ms5120-r17                          INTEGER (0..5119),
        ...
    }                                                                                  OPTIONAL -- Cond periodic
}

MUSIM-Starting-SFN-AndSubframe-r17 ::= SEQUENCE {
    starting-SFN-r17                       INTEGER (0..1023),
    startingSubframe-r17                   INTEGER (0..9)
}

-- TAG-MUSIM-GAPINFO-STOP
-- ASN1STOP

-- ASN1START

-- TAG-NeedForGapsConfigNR-START

NeedForGapsConfigNR-r16 ::=        SEQUENCE {
    requestedTargetBandFilterNR-r16       SEQUENCE (SIZE (1..maxBands)) OF FreqBandIndicatorNR               OPTIONAL          -- Need R
}

-- TAG-NeedForGapsConfigNR-STOP
-- ASN1STOP

-- ASN1START

-- TAG-NeedForGapsInfoNR-START

NeedForGapsInfoNR-r16 ::=        SEQUENCE {
    intraFreq-needForGap-r16      NeedForGapsIntraFreqList-r16,
    interFreq-needForGap-r16      NeedForGapsBandListNR-r16
}

NeedForGapsIntraFreqList-r16 ::=          SEQUENCE (SIZE (1..maxNrofServingCells)) OF NeedForGapsIntraFreq-r16

NeedForGapsBandListNR-r16 ::=             SEQUENCE (SIZE (1..maxBands)) OF NeedForGapsNR-r16

NeedForGapsIntraFreq-r16 ::=                 SEQUENCE {
    servCellId-r16                               ServCellIndex,
    gapIndicationIntra-r16                       ENUMERATED {gap, no-gap}
}

NeedForGapsNR-r16 ::=                        SEQUENCE {
    bandNR-r16                                   FreqBandIndicatorNR,
    gapIndication-r16                            ENUMERATED {gap, no-gap}
}

-- TAG-NeedForGapsInfoNR-STOP
-- ASN1STOP

-- ASN1START

-- TAG-NeedForGapNCSG-ConfigEUTRA-START

NeedForGapNCSG-ConfigEUTRA-r17 ::=        SEQUENCE {
    requestedTargetBandFilterNCSG-EUTRA-r17   SEQUENCE (SIZE (1..maxBandsEUTRA)) OF FreqBandIndicatorEUTRA     OPTIONAL    -- Need R
}

-- TAG-NeedForGapNCSG-ConfigEUTRA-STOP
-- ASN1STOP

-- ASN1START

-- TAG-NEEDFORGAPNCSG-CONFIGNR-START

NeedForGapNCSG-ConfigNR-r17 ::=        SEQUENCE {
    requestedTargetBandFilterNCSG-NR-r17   SEQUENCE (SIZE (1..maxBands)) OF FreqBandIndicatorNR          OPTIONAL          -- Need R
}

-- TAG-NEEDFORGAPNCSG-CONFIGNR-STOP
-- ASN1STOP

-- ASN1START

-- TAG-NEEDFORGAPNCSG-INFOEUTRA-START

NeedForGapNCSG-InfoEUTRA-r17 ::=   SEQUENCE {
    needForNCSG-EUTRA-r17              SEQUENCE (SIZE (1..maxBandsEUTRA)) OF NeedForNCSG-EUTRA-r17
}

NeedForNCSG-EUTRA-r17 ::=         SEQUENCE {
    bandEUTRA-r17                      FreqBandIndicatorEUTRA,
    gapIndication-r17                  ENUMERATED {gap, ncsg, nogap-noncsg}
}

-- TAG-NEEDFORGAPNCSG-INFOEUTRA-STOP
-- ASN1STOP

-- ASN1START

-- TAG-NEEDFORGAPNCSG-INFONR-START

NeedForGapNCSG-InfoNR-r17 ::=     SEQUENCE {
    intraFreq-needForNCSG-r17         NeedForNCSG-IntraFreqList-r17,
    interFreq-needForNCSG-r17         NeedForNCSG-BandListNR-r17
}

NeedForNCSG-IntraFreqList-r17 ::= SEQUENCE (SIZE (1..maxNrofServingCells)) OF NeedForNCSG-IntraFreq-r17

NeedForNCSG-BandListNR-r17 ::=    SEQUENCE (SIZE (1..maxBands)) OF NeedForNCSG-NR-r17

NeedForNCSG-IntraFreq-r17 ::=    SEQUENCE {
    servCellId-r17                    ServCellIndex,
    gapIndicationIntra-r17            ENUMERATED {gap, ncsg, nogap-noncsg}
}

NeedForNCSG-NR-r17 ::=           SEQUENCE {
    bandNR-r17                        FreqBandIndicatorNR,
    gapIndication-r17                 ENUMERATED {gap, ncsg, nogap-noncsg}
}

-- TAG-NEEDFORGAPNCSG-INFONR-STOP
-- ASN1STOP

-- ASN1START

-- TAG-NEXTHOPCHAININGCOUNT-START

NextHopChainingCount ::=                    INTEGER (0..7)

-- TAG-NEXTHOPCHAININGCOUNT-STOP
-- ASN1STOP

-- ASN1START

-- TAG-NG-5G-S-TMSI-START

NG-5G-S-TMSI ::=                         BIT STRING (SIZE (48))

-- TAG-NG-5G-S-TMSI-STOP
-- ASN1STOP

-- ASN1START

-- TAG-NONCELLDEFININGSSB-START

NonCellDefiningSSB-r17 ::=      SEQUENCE {
    absoluteFrequencySSB-r17        ARFCN-ValueNR,
    ssb-Periodicity-r17             ENUMERATED { ms5, ms10, ms20, ms40, ms80, ms160, spare2, spare1 }       OPTIONAL,   -- Need S
    ssb-TimeOffset-r17              ENUMERATED { ms5, ms10, ms15, ms20, ms40, ms80, spare2, spare1 }      OPTIONAL,   -- Need S
    ...
}

-- TAG-NONCELLDEFININGSSB-STOP
-- ASN1STOP

-- ASN1START

-- TAG-NPN-IDENTITY-START

NPN-Identity-r16 ::=             CHOICE {
    pni-npn-r16                      SEQUENCE {
        plmn-Identity-r16                PLMN-Identity,
        cag-IdentityList-r16             SEQUENCE (SIZE (1..maxNPN-r16)) OF CAG-IdentityInfo-r16
    },
    snpn-r16                         SEQUENCE {
        plmn-Identity-r16                PLMN-Identity,
        nid-List-r16                     SEQUENCE (SIZE (1..maxNPN-r16)) OF NID-r16
    }
}

CAG-IdentityInfo-r16 ::=         SEQUENCE {
    cag-Identity-r16                 BIT STRING (SIZE (32)),
    manualCAGselectionAllowed-r16    ENUMERATED {true}                         OPTIONAL   -- Need R
}

NID-r16 ::=                      BIT STRING (SIZE (44))

-- TAG-NPN-IDENTITY-STOP
-- ASN1STOP

-- ASN1START

-- TAG-NPN-IDENTITYINFOLIST-START

NPN-IdentityInfoList-r16 ::=     SEQUENCE (SIZE (1..maxNPN-r16)) OF NPN-IdentityInfo-r16


NPN-IdentityInfo-r16 ::=         SEQUENCE {
    npn-IdentityList-r16             SEQUENCE (SIZE (1..maxNPN-r16)) OF NPN-Identity-r16,
    trackingAreaCode-r16             TrackingAreaCode,
    ranac-r16                        RAN-AreaCode                                                OPTIONAL,       -- Need R
    cellIdentity-r16                 CellIdentity,
    cellReservedForOperatorUse-r16   ENUMERATED {reserved, notReserved},
    iab-Support-r16                  ENUMERATED {true}                                           OPTIONAL,       -- Need S
    ...,
    [[
    gNB-ID-Length-r17                INTEGER (22..32)                                            OPTIONAL        -- Need R
    ]]
}

-- TAG-NPN-IDENTITYINFOLIST-STOP
-- ASN1STOP

-- ASN1START

-- TAG-NR-DL-PRS-PDC-INFO-START

NR-DL-PRS-PDC-Info-r17 ::=    SEQUENCE {
    nr-DL-PRS-PDC-ResourceSet-r17          NR-DL-PRS-PDC-ResourceSet-r17                    OPTIONAL, -- Need R
    ...
}

NR-DL-PRS-PDC-ResourceSet-r17 ::=    SEQUENCE {
    periodicityAndOffset-r17     NR-DL-PRS-Periodicity-and-ResourceSetSlotOffset-r17,
    numSymbols-r17               ENUMERATED {n2, n4, n6, n12, spare4, spare3, spare2, spare1},
    dl-PRS-ResourceBandwidth-r17        INTEGER (1..63),
    dl-PRS-StartPRB-r17                 INTEGER (0..2176),
    resourceList-r17             SEQUENCE (SIZE (1..maxNrofPRS-ResourcesPerSet-r17)) OF NR-DL-PRS-Resource-r17,
    repFactorAndTimeGap-r17      RepFactorAndTimeGap-r17                                    OPTIONAL,   -- Need S
    ...
}

NR-DL-PRS-Periodicity-and-ResourceSetSlotOffset-r17 ::= CHOICE {
    scs15-r17       CHOICE {
                        n4-r17                  INTEGER (0..3),
                        n5-r17                  INTEGER (0..4),
                        n8-r17                  INTEGER (0..7),
                        n10-r17                 INTEGER (0..9),
                        n16-r17                 INTEGER (0..15),
                        n20-r17                 INTEGER (0..19),
                        n32-r17                 INTEGER (0..31),
                        n40-r17                 INTEGER (0..39),
                        n64-r17                 INTEGER (0..63),
                        n80-r17                 INTEGER (0..79),
                        n160-r17                INTEGER (0..159),
                        n320-r17                INTEGER (0..319),
                        n640-r17                INTEGER (0..639),
                        n1280-r17               INTEGER (0..1279),
                        n2560-r17               INTEGER (0..2559),
                        n5120-r17               INTEGER (0..5119),
                        n10240-r17              INTEGER (0..10239),
                        ...
    },
    scs30-r17       CHOICE {
                        n8-r17                  INTEGER (0..7),
                        n10-r17                 INTEGER (0..9),
                        n16-r17                 INTEGER (0..15),
                        n20-r17                 INTEGER (0..19),
                        n32-r17                 INTEGER (0..31),
                        n40-r17                 INTEGER (0..39),
                        n64-r17                 INTEGER (0..63),
                        n80-r17                 INTEGER (0..79),
                        n128-r17                INTEGER (0..127),
                        n160-r17                INTEGER (0..159),
                        n320-r17                INTEGER (0..319),
                        n640-r17                INTEGER (0..639),
                        n1280-r17               INTEGER (0..1279),
                        n2560-r17               INTEGER (0..2559),
                        n5120-r17               INTEGER (0..5119),
                        n10240-r17              INTEGER (0..10239),
                        n20480-r17              INTEGER (0..20479),
                        ...
    },
    scs60-r17       CHOICE {
                        n16-r17                 INTEGER (0..15),
                        n20-r17                 INTEGER (0..19),
                        n32-r17                 INTEGER (0..31),
                        n40-r17                 INTEGER (0..39),
                        n64-r17                 INTEGER (0..63),
                        n80-r17                 INTEGER (0..79),
                        n128-r17                INTEGER (0..127),
                        n160-r17                INTEGER (0..159),
                        n256-r17                INTEGER (0..255),
                        n320-r17                INTEGER (0..319),
                        n640-r17                INTEGER (0..639),
                        n1280-r17               INTEGER (0..1279),
                        n2560-r17               INTEGER (0..2559),
                        n5120-r17               INTEGER (0..5119),
                        n10240-r17              INTEGER (0..10239),
                        n20480-r17              INTEGER (0..20479),
                        n40960-r17              INTEGER (0..40959),
                        ...
    },
    scs120-r17      CHOICE {
                        n32-r17                 INTEGER (0..31),
                        n40-r17                 INTEGER (0..39),
                        n64-r17                 INTEGER (0..63),
                        n80-r17                 INTEGER (0..79),
                        n128-r17                INTEGER (0..127),
                        n160-r17                INTEGER (0..159),
                        n256-r17                INTEGER (0..255),
                        n320-r17                INTEGER (0..319),
                        n512-r17                INTEGER (0..511),
                        n640-r17                INTEGER (0..639),
                        n1280-r17               INTEGER (0..1279),
                        n2560-r17               INTEGER (0..2559),
                        n5120-r17               INTEGER (0..5119),
                        n10240-r17              INTEGER (0..10239),
                        n20480-r17              INTEGER (0..20479),
                        n40960-r17              INTEGER (0..40959),
                        n81920-r17              INTEGER (0..81919),
                        ...
    },
    ...
}

NR-DL-PRS-Resource-r17 ::= SEQUENCE {
    nr-DL-PRS-ResourceID-r17            NR-DL-PRS-ResourceID-r17,
    dl-PRS-SequenceID-r17               INTEGER (0..4095),
    dl-PRS-CombSizeN-AndReOffset-r17    CHOICE {
            n2-r17                          INTEGER (0..1),
            n4-r17                          INTEGER (0..3),
            n6-r17                          INTEGER (0..5),
            n12-r17                         INTEGER (0..11),
            ...
    },
    dl-PRS-ResourceSlotOffset-r17       INTEGER (0..maxNrofPRS-ResourceOffsetValue-1-r17),
    dl-PRS-ResourceSymbolOffset-r17     INTEGER (0..12),
    dl-PRS-QCL-Info-r17                 DL-PRS-QCL-Info-r17                         OPTIONAL, -- Need N
    ...
}

DL-PRS-QCL-Info-r17 ::= CHOICE {
    ssb-r17                     SEQUENCE {
        ssb-Index-r17                   INTEGER (0..63),
        rs-Type-r17                     ENUMERATED {typeC, typeD, typeC-plus-typeD},
        ...
    },
    dl-PRS-r17                  SEQUENCE {
        qcl-DL-PRS-ResourceID-r17       NR-DL-PRS-ResourceID-r17,
        ...
    },
    ...
}

NR-DL-PRS-ResourceID-r17 ::= INTEGER (0..maxNrofPRS-ResourcesPerSet-1-r17)

RepFactorAndTimeGap-r17 ::=  SEQUENCE {
    repetitionFactor-r17         ENUMERATED {n2, n4, n6, n8, n16, n32, spare2, spare1},
    timeGap-r17                  ENUMERATED {s1, s2, s4, s8, s16, s32, spare2, spare1}
}

-- TAG-NR-DL-PRS-PDC-INFO-STOP
-- ASN1STOP

-- ASN1START

-- TAG-NR-NS-PMAXLIST-START

NR-NS-PmaxList ::=                      SEQUENCE (SIZE (1..maxNR-NS-Pmax)) OF NR-NS-PmaxValue

NR-NS-PmaxValue ::=                     SEQUENCE {
    additionalPmax                          P-Max                               OPTIONAL,   -- Need N
    additionalSpectrumEmission              AdditionalSpectrumEmission
}

-- TAG-NR-NS-PMAXLIST-STOP
-- ASN1STOP

-- ASN1START

-- TAG-NSAG-ID-START

NSAG-ID-r17 ::=                      BIT STRING (SIZE (8))

-- TAG-NSAG-ID-STOP
-- ASN1STOP

-- ASN1START

-- TAG-NSAG-IDENTITYINFO-START

NSAG-IdentityInfo-r17 ::=            SEQUENCE {
    nsag-ID-r17                          NSAG-ID-r17,
    trackingAreaCode-r17                 TrackingAreaCode               OPTIONAL      -- Need R
}

-- TAG-NSAG-IDENTITYINFO-STOP
-- ASN1STOP

-- ASN1START

-- TAG-NTN-CONFIG-START

NTN-Config-r17 ::=             SEQUENCE {
    epochTime-r17                  EpochTime-r17                                                            OPTIONAL,  -- Need R
    ntn-UlSyncValidityDuration-r17 ENUMERATED{ s5, s10, s15, s20, s25, s30, s35,
                                              s40, s45, s50, s55, s60, s120, s180, s240, s900}              OPTIONAL,  -- Cond SIB19
    cellSpecificKoffset-r17        INTEGER(1..1023)                                                         OPTIONAL,  -- Need R
    kmac-r17                       INTEGER(1..512)                                                          OPTIONAL,  -- Need R
    ta-Info-r17                    TA-Info-r17                                                              OPTIONAL,  -- Need R
    ntn-PolarizationDL-r17         ENUMERATED {rhcp,lhcp,linear}                                            OPTIONAL,  -- Need R
    ntn-PolarizationUL-r17         ENUMERATED {rhcp,lhcp,linear}                                            OPTIONAL,  -- Need R
    ephemerisInfo-r17              EphemerisInfo-r17                                                        OPTIONAL,  -- Need R
    ta-Report-r17                  ENUMERATED {enabled}                                                     OPTIONAL,  -- Need R
    ...
}

EpochTime-r17 ::=              SEQUENCE {
    sfn-r17                        INTEGER(0..1023),
    subFrameNR-r17                 INTEGER(0..9)
}

TA-Info-r17 ::=                 SEQUENCE  {
    ta-Common-r17                  INTEGER(0..66485757),
    ta-CommonDrift-r17             INTEGER(-257303..257303)                                                 OPTIONAL,  -- Need R
    ta-CommonDriftVariant-r17      INTEGER(0..28949)                                                        OPTIONAL   -- Need R
}

-- TAG-NTN-CONFIG-STOP
-- ASN1STOP

-- ASN1START

-- TAG-NZP-CSI-RS-RESOURCE-START

NZP-CSI-RS-Resource ::=             SEQUENCE {
    nzp-CSI-RS-ResourceId               NZP-CSI-RS-ResourceId,
    resourceMapping                     CSI-RS-ResourceMapping,
    powerControlOffset                  INTEGER (-8..15),
    powerControlOffsetSS                ENUMERATED{db-3, db0, db3, db6}                 OPTIONAL,   -- Need R
    scramblingID                        ScramblingId,
    periodicityAndOffset                CSI-ResourcePeriodicityAndOffset                OPTIONAL,   -- Cond PeriodicOrSemiPersistent
    qcl-InfoPeriodicCSI-RS              TCI-StateId                                     OPTIONAL,   -- Cond Periodic
    ...
}

-- TAG-NZP-CSI-RS-RESOURCE-STOP
-- ASN1STOP

-- ASN1START

-- TAG-NZP-CSI-RS-RESOURCEID-START

NZP-CSI-RS-ResourceId ::=           INTEGER (0..maxNrofNZP-CSI-RS-Resources-1)

-- TAG-NZP-CSI-RS-RESOURCEID-STOP
-- ASN1STOP

-- ASN1START

-- TAG-NZP-CSI-RS-RESOURCESET-START

NZP-CSI-RS-ResourceSet ::=          SEQUENCE {
    nzp-CSI-ResourceSetId               NZP-CSI-RS-ResourceSetId,
    nzp-CSI-RS-Resources                SEQUENCE (SIZE (1..maxNrofNZP-CSI-RS-ResourcesPerSet)) OF NZP-CSI-RS-ResourceId,
    repetition                          ENUMERATED { on, off }                                                  OPTIONAL,   -- Need S
    aperiodicTriggeringOffset           INTEGER(0..6)                                                           OPTIONAL,   -- Need S
    trs-Info                            ENUMERATED {true}                                                       OPTIONAL,   -- Need R
    ...,
    [[
    aperiodicTriggeringOffset-r16       INTEGER(0..31)                                                          OPTIONAL   -- Need S
    ]],
    [[
    pdc-Info-r17                        ENUMERATED {true}                                                       OPTIONAL,  -- Need R
    cmrGroupingAndPairing-r17           CMRGroupingAndPairing-r17                                               OPTIONAL,  -- Need R
    aperiodicTriggeringOffset-r17       INTEGER (0..124)                                                        OPTIONAL,  -- Need S
    aperiodicTriggeringOffsetL2-r17     INTEGER(0..31)                                                          OPTIONAL   -- Need R
    ]]
}

CMRGroupingAndPairing-r17 ::=        SEQUENCE {
    nrofResourcesGroup1-r17              INTEGER (1..7),
    pair1OfNZP-CSI-RS-r17                NZP-CSI-RS-Pairing-r17                                                 OPTIONAL,  -- Need R
    pair2OfNZP-CSI-RS-r17                NZP-CSI-RS-Pairing-r17                                                 OPTIONAL   -- Need R
}

NZP-CSI-RS-Pairing-r17 ::=          SEQUENCE {
    nzp-CSI-RS-ResourceId1-r17           INTEGER (1..7),
    nzp-CSI-RS-ResourceId2-r17           INTEGER (1..7)
}

-- TAG-NZP-CSI-RS-RESOURCESET-STOP
-- ASN1STOP

-- ASN1START

-- TAG-NZP-CSI-RS-RESOURCESETID-START

NZP-CSI-RS-ResourceSetId ::=        INTEGER (0..maxNrofNZP-CSI-RS-ResourceSets-1)

-- TAG-NZP-CSI-RS-RESOURCESETID-STOP
-- ASN1STOP

-- ASN1START

-- TAG-P-MAX-START

P-Max ::=                           INTEGER (-30..33)

-- TAG-P-MAX-STOP
-- ASN1STOP

-- ASN1START

-- TAG-PATHLOSSREFERENCERS-START

PathlossReferenceRS-r17 ::=   SEQUENCE {
    pathlossReferenceRS-Id-r17          PathlossReferenceRS-Id-r17,
    referenceSignal-r17                 CHOICE {
        ssb-Index                           SSB-Index,
        csi-RS-Index                        NZP-CSI-RS-ResourceId
    },
    additionalPCI-r17                   AdditionalPCIIndex-r17                                         OPTIONAL  -- Cond RS-SSB
}


-- TAG-PATHLOSSREFERENCERS-STOP
-- ASN1STOP

-- ASN1START

-- TAG-PATHLOSSREFERENCERS-ID-START

PathlossReferenceRS-Id-r17 ::= INTEGER (0..maxNrofPathlossReferenceRSs-1-r17)

-- TAG-PATHLOSSREFERENCERS-ID-STOP
-- ASN1STOP

-- ASN1START

-- TAG-PCIARFCNEUTRA-START

PCI-ARFCN-EUTRA-r16 ::=             SEQUENCE {
    physCellId-r16                      EUTRA-PhysCellId,
    carrierFreq-r16                     ARFCN-ValueEUTRA
}

-- TAG-PCIARFCNEUTRA-STOP
-- ASN1STOP

-- ASN1START

-- TAG-PCIARFCNNR-START

PCI-ARFCN-NR-r16 ::=                SEQUENCE {
    physCellId-r16                      PhysCellId,
    carrierFreq-r16                     ARFCN-ValueNR
}

-- TAG-PCIARFCNNR-STOP
-- ASN1STOP

-- ASN1START

-- TAG-PCI-LIST-START

PCI-List ::=                        SEQUENCE (SIZE (1..maxNrofCellMeas)) OF PhysCellId

-- TAG-PCI-LIST-STOP
-- ASN1STOP

-- ASN1START

-- TAG-PCI-RANGE-START

PCI-Range ::=                       SEQUENCE {
    start                               PhysCellId,
    range                               ENUMERATED {n4, n8, n12, n16, n24, n32, n48, n64, n84,
                                                    n96, n128, n168, n252, n504, n1008,spare1}                  OPTIONAL    -- Need S
}

-- TAG-PCI-RANGE-STOP
-- ASN1STOP

-- ASN1START

-- TAG-PCI-RANGEELEMENT-START

PCI-RangeElement ::=                SEQUENCE {
    pci-RangeIndex                      PCI-RangeIndex,
    pci-Range                           PCI-Range
}

-- TAG-PCI-RANGEELEMENT-STOP
-- ASN1STOP

-- ASN1START

-- TAG-PCI-RANGEINDEX-START

PCI-RangeIndex ::=                  INTEGER (1..maxNrofPCI-Ranges)

-- TAG-PCI-RANGEINDEX-STOP
-- ASN1STOP

-- ASN1START

-- TAG-PCI-RANGEINDEXLIST-START

PCI-RangeIndexList ::=              SEQUENCE (SIZE (1..maxNrofPCI-Ranges)) OF PCI-RangeIndex

-- TAG-PCI-RANGEINDEXLIST-STOP
-- ASN1STOP

-- ASN1START

-- TAG-PDCCH-CONFIG-START

PDCCH-Config ::=                    SEQUENCE {
    controlResourceSetToAddModList      SEQUENCE(SIZE (1..3)) OF ControlResourceSet                      OPTIONAL,   -- Need N
    controlResourceSetToReleaseList     SEQUENCE(SIZE (1..3)) OF ControlResourceSetId                    OPTIONAL,   -- Need N
    searchSpacesToAddModList            SEQUENCE(SIZE (1..10)) OF SearchSpace                            OPTIONAL,   -- Need N
    searchSpacesToReleaseList           SEQUENCE(SIZE (1..10)) OF SearchSpaceId                          OPTIONAL,   -- Need N
    downlinkPreemption                  SetupRelease { DownlinkPreemption }                              OPTIONAL,   -- Need M
    tpc-PUSCH                           SetupRelease { PUSCH-TPC-CommandConfig }                         OPTIONAL,   -- Need M
    tpc-PUCCH                           SetupRelease { PUCCH-TPC-CommandConfig }                         OPTIONAL,   -- Need M
    tpc-SRS                             SetupRelease { SRS-TPC-CommandConfig}                            OPTIONAL,   -- Need M
    ...,
    [[
    controlResourceSetToAddModListSizeExt-v1610 SEQUENCE (SIZE (1..2)) OF ControlResourceSet             OPTIONAL,   -- Need N
    controlResourceSetToReleaseListSizeExt-r16 SEQUENCE (SIZE (1..5)) OF ControlResourceSetId-r16        OPTIONAL,   -- Need N
    searchSpacesToAddModListExt-r16     SEQUENCE(SIZE (1..10)) OF SearchSpaceExt-r16                     OPTIONAL,   -- Need N
    uplinkCancellation-r16              SetupRelease { UplinkCancellation-r16 }                          OPTIONAL,   -- Need M
    monitoringCapabilityConfig-r16      ENUMERATED { r15monitoringcapability,r16monitoringcapability }   OPTIONAL,   -- Need M
    searchSpaceSwitchConfig-r16         SearchSpaceSwitchConfig-r16                                      OPTIONAL    -- Need R
    ]],
    [[
    searchSpacesToAddModListExt-v1700   SEQUENCE(SIZE (1..10)) OF SearchSpaceExt-v1700                   OPTIONAL,   -- Need N
    monitoringCapabilityConfig-v1710    ENUMERATED { r17monitoringcapability }                           OPTIONAL,   -- Need M
    searchSpaceSwitchConfig-r17         SearchSpaceSwitchConfig-r17                                      OPTIONAL,   -- Need R
    pdcch-SkippingDurationList-r17      SEQUENCE(SIZE (1..3)) OF SCS-SpecificDuration-r17                OPTIONAL    -- Need R
    ]]
}

SearchSpaceSwitchConfig-r16 ::=     SEQUENCE {
    cellGroupsForSwitchList-r16         SEQUENCE(SIZE (1..4)) OF CellGroupForSwitch-r16                  OPTIONAL,   -- Need R
    searchSpaceSwitchDelay-r16          INTEGER (10..52)                                                 OPTIONAL    -- Need R
}

SearchSpaceSwitchConfig-r17 ::=     SEQUENCE {
    searchSpaceSwitchTimer-r17          SCS-SpecificDuration-r17                                         OPTIONAL,   -- Need R
    searchSpaceSwitchDelay-r17          INTEGER (10..52)                                                 OPTIONAL    -- Need R
}

CellGroupForSwitch-r16 ::=          SEQUENCE(SIZE (1..16)) OF ServCellIndex

SCS-SpecificDuration-r17 ::=      INTEGER (1..166)

-- TAG-PDCCH-CONFIG-STOP
-- ASN1STOP

-- ASN1START

-- TAG-PDCCH-CONFIGCOMMON-START

PDCCH-ConfigCommon ::=              SEQUENCE {
    controlResourceSetZero              ControlResourceSetZero                                  OPTIONAL,   -- Cond InitialBWP-Only
    commonControlResourceSet            ControlResourceSet                                      OPTIONAL,   -- Need R
    searchSpaceZero                     SearchSpaceZero                                         OPTIONAL,   -- Cond InitialBWP-Only
    commonSearchSpaceList               SEQUENCE (SIZE(1..4)) OF SearchSpace                    OPTIONAL,   -- Need R
    searchSpaceSIB1                     SearchSpaceId                                           OPTIONAL,   -- Need S
    searchSpaceOtherSystemInformation   SearchSpaceId                                           OPTIONAL,   -- Need S
    pagingSearchSpace                   SearchSpaceId                                           OPTIONAL,   -- Need S
    ra-SearchSpace                      SearchSpaceId                                           OPTIONAL,   -- Need S
    ...,
    [[
    firstPDCCH-MonitoringOccasionOfPO   CHOICE {
        sCS15KHZoneT                                                             SEQUENCE (SIZE (1..maxPO-perPF)) OF INTEGER (0..139),
        sCS30KHZoneT-SCS15KHZhalfT                                               SEQUENCE (SIZE (1..maxPO-perPF)) OF INTEGER (0..279),
        sCS60KHZoneT-SCS30KHZhalfT-SCS15KHZquarterT                              SEQUENCE (SIZE (1..maxPO-perPF)) OF INTEGER (0..559),
        sCS120KHZoneT-SCS60KHZhalfT-SCS30KHZquarterT-SCS15KHZoneEighthT          SEQUENCE (SIZE (1..maxPO-perPF)) OF INTEGER (0..1119),
        sCS120KHZhalfT-SCS60KHZquarterT-SCS30KHZoneEighthT-SCS15KHZoneSixteenthT SEQUENCE (SIZE (1..maxPO-perPF)) OF INTEGER (0..2239),
        sCS120KHZquarterT-SCS60KHZoneEighthT-SCS30KHZoneSixteenthT               SEQUENCE (SIZE (1..maxPO-perPF)) OF INTEGER (0..4479),
        sCS120KHZoneEighthT-SCS60KHZoneSixteenthT                                SEQUENCE (SIZE (1..maxPO-perPF)) OF INTEGER (0..8959),
        sCS120KHZoneSixteenthT                                                   SEQUENCE (SIZE (1..maxPO-perPF)) OF INTEGER (0..17919)
    }                                                                                           OPTIONAL    -- Cond OtherBWP
    ]],
    [[
    commonSearchSpaceListExt-r16                                             SEQUENCE (SIZE(1..4)) OF SearchSpaceExt-r16     OPTIONAL  -- Need R
    ]],
    [[
    sdt-SearchSpace-r17                 CHOICE {
        newSearchSpace                      SearchSpace,
        existingSearchSpace                 SearchSpaceId
    }                                                                                           OPTIONAL,   -- Need R
    searchSpaceMCCH-r17                 SearchSpaceId                                           OPTIONAL,   -- Need R
    searchSpaceMTCH-r17                 SearchSpaceId                                           OPTIONAL,   -- Need S
    commonSearchSpaceListExt2-r17       SEQUENCE (SIZE(1..4)) OF SearchSpaceExt-v1700           OPTIONAL,   -- Need R
    firstPDCCH-MonitoringOccasionOfPO-v1710 CHOICE {
       sCS480KHZoneEighthT                      SEQUENCE (SIZE (1..maxPO-perPF)) OF INTEGER (0..35839),
       sCS480KHZoneSixteenthT                   SEQUENCE (SIZE (1..maxPO-perPF)) OF INTEGER (0..71679)
    }                                                                                           OPTIONAL,   -- Need R
    pei-ConfigBWP-r17      SEQUENCE {
        pei-SearchSpace-r17                 SearchSpaceId,
        firstPDCCH-MonitoringOccasionOfPEI-O-r17  CHOICE {
            sCS15KHZoneT                                                     SEQUENCE (SIZE (1..maxPEI-perPF-r17)) OF INTEGER (0..139),
            sCS30KHZoneT-SCS15KHZhalfT                                       SEQUENCE (SIZE (1..maxPEI-perPF-r17)) OF INTEGER (0..279),
            sCS60KHZoneT-SCS30KHZhalfT-SCS15KHZquarterT                      SEQUENCE (SIZE (1..maxPEI-perPF-r17)) OF INTEGER (0..559),
            sCS120KHZoneT-SCS60KHZhalfT-SCS30KHZquarterT-SCS15KHZoneEighthT  SEQUENCE (SIZE (1..maxPEI-perPF-r17)) OF INTEGER (0..1119),
            sCS120KHZhalfT-SCS60KHZquarterT-SCS30KHZoneEighthT-SCS15KHZoneSixteenthT SEQUENCE (SIZE (1..maxPEI-perPF-r17)) OF INTEGER (0..2239),
            sCS480KHZoneT-SCS120KHZquarterT-SCS60KHZoneEighthT-SCS30KHZoneSixteenthT SEQUENCE (SIZE (1..maxPEI-perPF-r17)) OF INTEGER (0..4479),
            sCS480KHZhalfT-SCS120KHZoneEighthT-SCS60KHZoneSixteenthT         SEQUENCE (SIZE (1..maxPEI-perPF-r17)) OF INTEGER (0..8959),
            sCS480KHZquarterT-SCS120KHZoneSixteenthT                         SEQUENCE (SIZE (1..maxPEI-perPF-r17)) OF INTEGER (0..17919),
            sCS480KHZoneEighthT                                           SEQUENCE (SIZE (1..maxPEI-perPF-r17)) OF INTEGER (0..35839),
            sCS480KHZoneSixteenthT                                        SEQUENCE (SIZE (1..maxPEI-perPF-r17)) OF INTEGER (0..71679)
        }
    }                                                                                           OPTIONAL     -- Cond InitialBWP-Paging
    ]],
    [[
    followUnifiedTCI-State-v1720           ENUMERATED {enabled}                                  OPTIONAL     -- Need R
    ]]
}

-- TAG-PDCCH-CONFIGCOMMON-STOP
-- ASN1STOP

-- ASN1START

-- TAG-PDCCH-CONFIGSIB1-START

PDCCH-ConfigSIB1 ::=                SEQUENCE {
    controlResourceSetZero              ControlResourceSetZero,
    searchSpaceZero                     SearchSpaceZero
}

-- TAG-PDCCH-CONFIGSIB1-STOP
-- ASN1STOP

-- ASN1START

-- TAG-PDCCH-SERVINGCELLCONFIG-START

PDCCH-ServingCellConfig ::=         SEQUENCE {
    slotFormatIndicator                 SetupRelease { SlotFormatIndicator }                                OPTIONAL,   -- Need M
    ...,
    [[
    availabilityIndicator-r16           SetupRelease {AvailabilityIndicator-r16}                            OPTIONAL,   -- Need M
    searchSpaceSwitchTimer-r16          INTEGER (1..80)                                                     OPTIONAL    -- Need R
    ]],
    [[
    searchSpaceSwitchTimer-v1710        INTEGER (81..1280)                                                  OPTIONAL    -- Need R
    ]]
}

-- TAG-PDCCH-SERVINGCELLCONFIG-STOP
-- ASN1STOP

-- ASN1START

-- TAG-PDCP-CONFIG-START

PDCP-Config ::=         SEQUENCE {
    drb                     SEQUENCE {
        discardTimer            ENUMERATED {ms10, ms20, ms30, ms40, ms50, ms60, ms75, ms100, ms150, ms200,
                                            ms250, ms300, ms500, ms750, ms1500, infinity}       OPTIONAL, -- Cond Setup
        pdcp-SN-SizeUL          ENUMERATED {len12bits, len18bits}                               OPTIONAL, -- Cond Setup1
        pdcp-SN-SizeDL          ENUMERATED {len12bits, len18bits}                               OPTIONAL, -- Cond Setup2
        headerCompression       CHOICE {
            notUsed                 NULL,
            rohc                    SEQUENCE {
                maxCID                  INTEGER (1..16383)                                      DEFAULT 15,
                profiles                SEQUENCE {
                    profile0x0001           BOOLEAN,
                    profile0x0002           BOOLEAN,
                    profile0x0003           BOOLEAN,
                    profile0x0004           BOOLEAN,
                    profile0x0006           BOOLEAN,
                    profile0x0101           BOOLEAN,
                    profile0x0102           BOOLEAN,
                    profile0x0103           BOOLEAN,
                    profile0x0104           BOOLEAN
                },
                drb-ContinueROHC            ENUMERATED { true }                                 OPTIONAL    -- Need N
            },
            uplinkOnlyROHC          SEQUENCE {
                maxCID                  INTEGER (1..16383)                                      DEFAULT 15,
                profiles                SEQUENCE {
                    profile0x0006           BOOLEAN
                },
                drb-ContinueROHC            ENUMERATED { true }                                 OPTIONAL    -- Need N
            },
            ...
        },
        integrityProtection     ENUMERATED { enabled }                                          OPTIONAL,   -- Cond ConnectedTo5GC1
        statusReportRequired    ENUMERATED { true }                                             OPTIONAL,   -- Cond Rlc-AM-UM
        outOfOrderDelivery      ENUMERATED { true }                                             OPTIONAL    -- Need R
    }                                                                                           OPTIONAL,   -- Cond DRB
    moreThanOneRLC          SEQUENCE {
        primaryPath             SEQUENCE {
            cellGroup               CellGroupId                                                 OPTIONAL,   -- Need R
            logicalChannel          LogicalChannelIdentity                                      OPTIONAL    -- Need R
        },
        ul-DataSplitThreshold   UL-DataSplitThreshold                                           OPTIONAL,   -- Cond SplitBearer
        pdcp-Duplication            BOOLEAN                                                     OPTIONAL    -- Need R
    }                                                                                           OPTIONAL,   -- Cond MoreThanOneRLC

    t-Reordering                ENUMERATED {
                                    ms0, ms1, ms2, ms4, ms5, ms8, ms10, ms15, ms20, ms30, ms40,
                                    ms50, ms60, ms80, ms100, ms120, ms140, ms160, ms180, ms200, ms220,
                                    ms240, ms260, ms280, ms300, ms500, ms750, ms1000, ms1250,
                                    ms1500, ms1750, ms2000, ms2250, ms2500, ms2750,
                                    ms3000, spare28, spare27, spare26, spare25, spare24,
                                    spare23, spare22, spare21, spare20,
                                    spare19, spare18, spare17, spare16, spare15, spare14,
                                    spare13, spare12, spare11, spare10, spare09,
                                    spare08, spare07, spare06, spare05, spare04, spare03,
                                    spare02, spare01 }                                          OPTIONAL, -- Need S
    ...,
    [[
    cipheringDisabled       ENUMERATED {true}                                                   OPTIONAL    -- Cond ConnectedTo5GC
    ]],
    [[
    discardTimerExt-r16     SetupRelease { DiscardTimerExt-r16 }                                OPTIONAL,    -- Cond DRB2
    moreThanTwoRLC-DRB-r16  SEQUENCE {
        splitSecondaryPath-r16  LogicalChannelIdentity                                          OPTIONAL,   -- Cond SplitBearer2
        duplicationState-r16    SEQUENCE (SIZE (3)) OF BOOLEAN                                  OPTIONAL    -- Need S
    }                                                                                           OPTIONAL,   -- Cond MoreThanTwoRLC-DRB
    ethernetHeaderCompression-r16  SetupRelease { EthernetHeaderCompression-r16 }               OPTIONAL    -- Need M
    ]],
    [[
    survivalTimeStateSupport-r17   ENUMERATED {true}                                            OPTIONAL,   -- Cond Drb-Duplication
    uplinkDataCompression-r17      SetupRelease { UplinkDataCompression-r17 }                   OPTIONAL,   -- Cond Rlc-AM
    discardTimerExt2-r17           SetupRelease { DiscardTimerExt2-r17 }                        OPTIONAL,   -- Need M
    initialRX-DELIV-r17            BIT STRING (SIZE (32))                                       OPTIONAL    -- Cond MRB-Initialization
    ]]
}

EthernetHeaderCompression-r16 ::=  SEQUENCE {
    ehc-Common-r16                     SEQUENCE {
        ehc-CID-Length-r16                 ENUMERATED { bits7, bits15 },
         ...
    },
    ehc-Downlink-r16               SEQUENCE {
        drb-ContinueEHC-DL-r16         ENUMERATED { true }                                      OPTIONAL,   -- Need N
        ...
    }                                                                                           OPTIONAL,   -- Need M
    ehc-Uplink-r16                 SEQUENCE {
        maxCID-EHC-UL-r16              INTEGER (1..32767),
        drb-ContinueEHC-UL-r16         ENUMERATED { true }                                      OPTIONAL,   -- Need N
        ...
    }                                                                                           OPTIONAL    -- Need M
}

UL-DataSplitThreshold ::= ENUMERATED {
                                            b0, b100, b200, b400, b800, b1600, b3200, b6400, b12800, b25600, b51200, b102400, b204800,
                                            b409600, b819200, b1228800, b1638400, b2457600, b3276800, b4096000, b4915200, b5734400,
                                            b6553600, infinity, spare8, spare7, spare6, spare5, spare4, spare3, spare2, spare1}

DiscardTimerExt-r16 ::= ENUMERATED {ms0dot5, ms1, ms2, ms4, ms6, ms8, spare2, spare1}

DiscardTimerExt2-r17 ::= ENUMERATED {ms2000, spare3, spare2, spare1}

UplinkDataCompression-r17 ::= CHOICE {
    newSetup                      SEQUENCE {
        bufferSize-r17                ENUMERATED {kbyte2, kbyte4, kbyte8, spare1},
        dictionary-r17                ENUMERATED {sip-SDP, operator}                            OPTIONAL    -- Need N
    },
    drb-ContinueUDC           NULL
}

-- TAG-PDCP-CONFIG-STOP
-- ASN1STOP

-- ASN1START

-- TAG-PDSCH-CONFIG-START

PDSCH-Config ::=                        SEQUENCE {
    dataScramblingIdentityPDSCH             INTEGER (0..1023)                                                   OPTIONAL,   -- Need S
    dmrs-DownlinkForPDSCH-MappingTypeA      SetupRelease { DMRS-DownlinkConfig }                                OPTIONAL,   -- Need M
    dmrs-DownlinkForPDSCH-MappingTypeB      SetupRelease { DMRS-DownlinkConfig }                                OPTIONAL,   -- Need M

    tci-StatesToAddModList                  SEQUENCE (SIZE(1..maxNrofTCI-States)) OF TCI-State                  OPTIONAL,   -- Need N
    tci-StatesToReleaseList                 SEQUENCE (SIZE(1..maxNrofTCI-States)) OF TCI-StateId                OPTIONAL,   -- Need N
    vrb-ToPRB-Interleaver                   ENUMERATED {n2, n4}                                                 OPTIONAL,   -- Need S
    resourceAllocation                      ENUMERATED { resourceAllocationType0, resourceAllocationType1, dynamicSwitch},
    pdsch-TimeDomainAllocationList          SetupRelease { PDSCH-TimeDomainResourceAllocationList }             OPTIONAL,   -- Need M
    pdsch-AggregationFactor                 ENUMERATED { n2, n4, n8 }                                           OPTIONAL,   -- Need S
    rateMatchPatternToAddModList            SEQUENCE (SIZE (1..maxNrofRateMatchPatterns)) OF RateMatchPattern   OPTIONAL,   -- Need N
    rateMatchPatternToReleaseList           SEQUENCE (SIZE (1..maxNrofRateMatchPatterns)) OF RateMatchPatternId OPTIONAL,   -- Need N
    rateMatchPatternGroup1                  RateMatchPatternGroup                                               OPTIONAL,   -- Need R
    rateMatchPatternGroup2                  RateMatchPatternGroup                                               OPTIONAL,   -- Need R

    rbg-Size                                ENUMERATED {config1, config2},
    mcs-Table                               ENUMERATED {qam256, qam64LowSE}                                     OPTIONAL,   -- Need S
    maxNrofCodeWordsScheduledByDCI          ENUMERATED {n1, n2}                                                 OPTIONAL,   -- Need R

    prb-BundlingType                        CHOICE {
        staticBundling                          SEQUENCE {
            bundleSize                              ENUMERATED { n4, wideband }                                 OPTIONAL    -- Need S
        },
        dynamicBundling                     SEQUENCE {
            bundleSizeSet1                      ENUMERATED { n4, wideband, n2-wideband, n4-wideband }           OPTIONAL,   -- Need S
            bundleSizeSet2                      ENUMERATED { n4, wideband }                                     OPTIONAL    -- Need S
        }
    },
    zp-CSI-RS-ResourceToAddModList                  SEQUENCE (SIZE (1..maxNrofZP-CSI-RS-Resources)) OF ZP-CSI-RS-Resource
                                                                                                                OPTIONAL,   -- Need N
    zp-CSI-RS-ResourceToReleaseList                 SEQUENCE (SIZE (1..maxNrofZP-CSI-RS-Resources)) OF ZP-CSI-RS-ResourceId
                                                                                                                OPTIONAL,   -- Need N
    aperiodic-ZP-CSI-RS-ResourceSetsToAddModList    SEQUENCE (SIZE (1..maxNrofZP-CSI-RS-ResourceSets)) OF ZP-CSI-RS-ResourceSet
                                                                                                                OPTIONAL,   -- Need N
    aperiodic-ZP-CSI-RS-ResourceSetsToReleaseList SEQUENCE (SIZE (1..maxNrofZP-CSI-RS-ResourceSets)) OF ZP-CSI-RS-ResourceSetId
                                                                                                                OPTIONAL,   -- Need N
    sp-ZP-CSI-RS-ResourceSetsToAddModList   SEQUENCE (SIZE (1..maxNrofZP-CSI-RS-ResourceSets)) OF ZP-CSI-RS-ResourceSet
                                                                                                                OPTIONAL,   -- Need N
    sp-ZP-CSI-RS-ResourceSetsToReleaseList  SEQUENCE (SIZE (1..maxNrofZP-CSI-RS-ResourceSets)) OF ZP-CSI-RS-ResourceSetId
                                                                                                                OPTIONAL,   -- Need N
    p-ZP-CSI-RS-ResourceSet                 SetupRelease { ZP-CSI-RS-ResourceSet }
                                                                                                                OPTIONAL,   -- Need M
    ...,
    [[
    maxMIMO-Layers-r16                      SetupRelease { MaxMIMO-LayersDL-r16 }                               OPTIONAL,   -- Need M
    minimumSchedulingOffsetK0-r16           SetupRelease { MinSchedulingOffsetK0-Values-r16 }                   OPTIONAL,   -- Need M

    -- Start of the parameters for DCI format 1_2 introduced in V16.1.0
    antennaPortsFieldPresenceDCI-1-2-r16            ENUMERATED {enabled}                                        OPTIONAL,   -- Need S
    aperiodicZP-CSI-RS-ResourceSetsToAddModListDCI-1-2-r16  SEQUENCE (SIZE (1..maxNrofZP-CSI-RS-ResourceSets)) OF ZP-CSI-RS-ResourceSet
                                                                                                                OPTIONAL,   -- Need N
    aperiodicZP-CSI-RS-ResourceSetsToReleaseListDCI-1-2-r16 SEQUENCE (SIZE (1..maxNrofZP-CSI-RS-ResourceSets)) OF ZP-CSI-RS-ResourceSetId
                                                                                                                OPTIONAL,   -- Need N
    dmrs-DownlinkForPDSCH-MappingTypeA-DCI-1-2-r16  SetupRelease { DMRS-DownlinkConfig }                        OPTIONAL,   -- Need M
    dmrs-DownlinkForPDSCH-MappingTypeB-DCI-1-2-r16  SetupRelease { DMRS-DownlinkConfig }                        OPTIONAL,   -- Need M
    dmrs-SequenceInitializationDCI-1-2-r16          ENUMERATED {enabled}                                        OPTIONAL,   -- Need S
    harq-ProcessNumberSizeDCI-1-2-r16               INTEGER (0..4)                                              OPTIONAL,   -- Need R
    mcs-TableDCI-1-2-r16                            ENUMERATED {qam256, qam64LowSE}                             OPTIONAL,   -- Need S
    numberOfBitsForRV-DCI-1-2-r16                   INTEGER (0..2)                                              OPTIONAL,   -- Need R
    pdsch-TimeDomainAllocationListDCI-1-2-r16       SetupRelease { PDSCH-TimeDomainResourceAllocationList-r16 }
                                                                                                                OPTIONAL,   -- Need M
    prb-BundlingTypeDCI-1-2-r16             CHOICE {
        staticBundling-r16                      SEQUENCE {
            bundleSize-r16                          ENUMERATED { n4, wideband }                                 OPTIONAL    -- Need S
        },
        dynamicBundling-r16                     SEQUENCE {
            bundleSizeSet1-r16                      ENUMERATED { n4, wideband, n2-wideband, n4-wideband }       OPTIONAL,   -- Need S
            bundleSizeSet2-r16                      ENUMERATED { n4, wideband }                                 OPTIONAL    -- Need S
        }
    }                                                                                                           OPTIONAL,   -- Need R
    priorityIndicatorDCI-1-2-r16                ENUMERATED {enabled}                                            OPTIONAL,   -- Need S
    rateMatchPatternGroup1DCI-1-2-r16           RateMatchPatternGroup                                           OPTIONAL,   -- Need R
    rateMatchPatternGroup2DCI-1-2-r16           RateMatchPatternGroup                                           OPTIONAL,   -- Need R
    resourceAllocationType1GranularityDCI-1-2-r16  ENUMERATED {n2,n4,n8,n16}                                    OPTIONAL,   -- Need S
    vrb-ToPRB-InterleaverDCI-1-2-r16            ENUMERATED {n2, n4}                                             OPTIONAL,   -- Need S
    referenceOfSLIVDCI-1-2-r16                  ENUMERATED {enabled}                                            OPTIONAL,   -- Need S
    resourceAllocationDCI-1-2-r16               ENUMERATED { resourceAllocationType0, resourceAllocationType1, dynamicSwitch}
                                                                                                                OPTIONAL,   -- Need M
    -- End of the parameters for DCI format 1_2 introduced in V16.1.0

    priorityIndicatorDCI-1-1-r16             ENUMERATED {enabled}                                               OPTIONAL,   -- Need S
    dataScramblingIdentityPDSCH2-r16         INTEGER (0..1023)                                                  OPTIONAL,   -- Need R
    pdsch-TimeDomainAllocationList-r16       SetupRelease { PDSCH-TimeDomainResourceAllocationList-r16 }        OPTIONAL,   -- Need M
    repetitionSchemeConfig-r16               SetupRelease { RepetitionSchemeConfig-r16}                         OPTIONAL    -- Need M
    ]],
    [[
    repetitionSchemeConfig-v1630             SetupRelease { RepetitionSchemeConfig-v1630}                       OPTIONAL    -- Need M
    ]],
    [[
    pdsch-HARQ-ACK-OneShotFeedbackDCI-1-2-r17    ENUMERATED {enabled}                                           OPTIONAL,   -- Need R
    pdsch-HARQ-ACK-EnhType3DCI-1-2-r17           ENUMERATED {enabled}                                           OPTIONAL,   -- Need R
    pdsch-HARQ-ACK-EnhType3DCI-Field-1-2-r17     ENUMERATED {enabled}                                           OPTIONAL,   -- Need R
    pdsch-HARQ-ACK-RetxDCI-1-2-r17               ENUMERATED {enabled}                                           OPTIONAL,   -- Need R
    pucch-sSCellDynDCI-1-2-r17                   ENUMERATED {enabled}                                           OPTIONAL,   -- Need R
    dl-OrJointTCI-StateList-r17                  CHOICE {
        explicitlist                                 SEQUENCE {
            dl-OrJointTCI-StateToAddModList-r17        SEQUENCE (SIZE (1..maxNrofTCI-States)) OF TCI-State
                                                                                                                OPTIONAL,   -- Need N
            dl-OrJointTCI-StateToReleaseList-r17       SEQUENCE (SIZE (1..maxNrofTCI-States)) OF TCI-StateId
                                                                                                                OPTIONAL    -- Need N
        },
        unifiedTCI-StateRef-r17                  ServingCellAndBWP-Id-r17
    }                                                                                                           OPTIONAL,   -- Need R
    beamAppTime-r17                              ENUMERATED {n1, n2, n4, n7, n14, n28, n42, n56, n70, n84, n98, n112, n224, n336, spare2,
                                                            spare1}                                             OPTIONAL,   -- Need R
    dummy                                        SetupRelease { Dummy-TDRA-List }                               OPTIONAL,   -- Need M
    dmrs-FD-OCC-DisabledForRank1-PDSCH-r17          ENUMERATED {true}                                           OPTIONAL,   -- Need R
    minimumSchedulingOffsetK0-r17                   SetupRelease { MinSchedulingOffsetK0-Values-r17 }           OPTIONAL,   -- Need M
    harq-ProcessNumberSizeDCI-1-2-v1700          INTEGER (0..5)                                                 OPTIONAL,   -- Need R
    harq-ProcessNumberSizeDCI-1-1-r17            INTEGER (5)                                                    OPTIONAL,   -- Need R
    mcs-Table-r17                                ENUMERATED {qam1024}                                           OPTIONAL,   -- Need R
    mcs-TableDCI-1-2-r17                         ENUMERATED {qam1024}                                           OPTIONAL,   -- Need R
    xOverheadMulticast-r17                       ENUMERATED {xOh6, xOh12, xOh18}                                OPTIONAL,   -- Need S
    priorityIndicatorDCI-4-2-r17                 ENUMERATED {enabled}                                           OPTIONAL,   -- Need S
    sizeDCI-4-2-r17                              INTEGER (20..maxDCI-4-2-Size-r17)                              OPTIONAL    -- Need R
    ]],
    [[
    pdsch-TimeDomainAllocationListForMultiPDSCH-r17 SetupRelease { MultiPDSCH-TDRA-List-r17 }                   OPTIONAL    -- Need M
    ]]
}

RateMatchPatternGroup ::=               SEQUENCE (SIZE (1..maxNrofRateMatchPatternsPerGroup)) OF CHOICE {
    cellLevel                               RateMatchPatternId,
    bwpLevel                                RateMatchPatternId
}

MinSchedulingOffsetK0-Values-r16 ::=    SEQUENCE (SIZE (1..maxNrOfMinSchedulingOffsetValues-r16)) OF INTEGER (0..maxK0-SchedulingOffset-r16)

MinSchedulingOffsetK0-Values-r17 ::=    SEQUENCE (SIZE (1..maxNrOfMinSchedulingOffsetValues-r16)) OF INTEGER (0..maxK0-SchedulingOffset-r17)

MaxMIMO-LayersDL-r16 ::=                INTEGER (1..8)

-- TAG-PDSCH-CONFIG-STOP
-- ASN1STOP

-- ASN1START

-- TAG-PDSCH-CONFIGCOMMON-START

PDSCH-ConfigCommon ::=                  SEQUENCE {
    pdsch-TimeDomainAllocationList                  PDSCH-TimeDomainResourceAllocationList          OPTIONAL,   -- Need R
    ...
}

-- TAG-PDSCH-CONFIGCOMMON-STOP
-- ASN1STOP

-- ASN1START

-- TAG-PDSCH-SERVINGCELLCONFIG-START

PDSCH-ServingCellConfig ::=             SEQUENCE {
    codeBlockGroupTransmission              SetupRelease { PDSCH-CodeBlockGroupTransmission }              OPTIONAL,   -- Need M
    xOverhead                               ENUMERATED { xOh6, xOh12, xOh18 }                              OPTIONAL,   -- Need S
    nrofHARQ-ProcessesForPDSCH              ENUMERATED {n2, n4, n6, n10, n12, n16}                         OPTIONAL,   -- Need S
    pucch-Cell                              ServCellIndex                                                  OPTIONAL,   -- Cond SCellAddOnly
    ...,
    [[
    maxMIMO-Layers                          INTEGER (1..8)                                                 OPTIONAL,   -- Need M
    processingType2Enabled                  BOOLEAN                                                        OPTIONAL    -- Need M
    ]],
    [[
    pdsch-CodeBlockGroupTransmissionList-r16 SetupRelease { PDSCH-CodeBlockGroupTransmissionList-r16 }     OPTIONAL    -- Need M
    ]],
    [[
    downlinkHARQ-FeedbackDisabled-r17       SetupRelease { DownlinkHARQ-FeedbackDisabled-r17 }              OPTIONAL,   -- Need M
    nrofHARQ-ProcessesForPDSCH-v1700        ENUMERATED {n32}                                               OPTIONAL    -- Need R
    ]]
}

PDSCH-CodeBlockGroupTransmission ::=    SEQUENCE {
    maxCodeBlockGroupsPerTransportBlock     ENUMERATED {n2, n4, n6, n8},
    codeBlockGroupFlushIndicator            BOOLEAN,
    ...
}

PDSCH-CodeBlockGroupTransmissionList-r16 ::=    SEQUENCE (SIZE (1..2)) OF PDSCH-CodeBlockGroupTransmission

DownlinkHARQ-FeedbackDisabled-r17 ::= BIT STRING (SIZE (32))

-- TAG-PDSCH-SERVINGCELLCONFIG-STOP
-- ASN1STOP

-- ASN1START

-- TAG-PDSCH-TIMEDOMAINRESOURCEALLOCATIONLIST-START


PDSCH-TimeDomainResourceAllocationList ::=  SEQUENCE (SIZE(1..maxNrofDL-Allocations)) OF PDSCH-TimeDomainResourceAllocation

PDSCH-TimeDomainResourceAllocation ::=   SEQUENCE {
    k0                                      INTEGER(0..32)                                                  OPTIONAL,   -- Need S
    mappingType                             ENUMERATED {typeA, typeB},
    startSymbolAndLength                    INTEGER (0..127)
}

PDSCH-TimeDomainResourceAllocationList-r16 ::=  SEQUENCE (SIZE(1..maxNrofDL-Allocations)) OF PDSCH-TimeDomainResourceAllocation-r16

PDSCH-TimeDomainResourceAllocation-r16 ::=  SEQUENCE {
    k0-r16                                     INTEGER(0..32)                                              OPTIONAL,   -- Need S
    mappingType-r16                            ENUMERATED {typeA, typeB},
    startSymbolAndLength-r16                   INTEGER (0..127),
    repetitionNumber-r16                       ENUMERATED {n2, n3, n4, n5, n6, n7, n8, n16}                OPTIONAL,   -- Cond Formats1-0and1-1
    ...,
    [[
    k0-v1710                                INTEGER(33..128)                                               OPTIONAL    -- Need S
    ]],
    [[
    repetitionNumber-v1730                  ENUMERATED {n2, n3, n4, n5, n6, n7, n8, n16}                   OPTIONAL   -- Cond Format1-2
    ]]
}

Dummy-TDRA-List ::= SEQUENCE (SIZE(1..maxNrofDL-Allocations)) OF MultiPDSCH-TDRA-r17

MultiPDSCH-TDRA-List-r17 ::= SEQUENCE (SIZE(1..maxNrofDL-AllocationsExt-r17)) OF MultiPDSCH-TDRA-r17

MultiPDSCH-TDRA-r17 ::= SEQUENCE {
    pdsch-TDRA-List-r17                 SEQUENCE (SIZE(1..maxNrofMultiplePDSCHs-r17)) OF PDSCH-TimeDomainResourceAllocation-r16,
    ...
}

-- TAG-PDSCH-TIMEDOMAINRESOURCEALLOCATIONLIST-STOP
-- ASN1STOP

-- ASN1START

-- TAG-PHR-CONFIG-START

PHR-Config ::=                      SEQUENCE {
    phr-PeriodicTimer                   ENUMERATED {sf10, sf20, sf50, sf100, sf200,sf500, sf1000, infinity},
    phr-ProhibitTimer                   ENUMERATED {sf0, sf10, sf20, sf50, sf100,sf200, sf500, sf1000},
    phr-Tx-PowerFactorChange            ENUMERATED {dB1, dB3, dB6, infinity},
    multiplePHR                         BOOLEAN,
    dummy                               BOOLEAN,
    phr-Type2OtherCell                  BOOLEAN,
    phr-ModeOtherCG                     ENUMERATED {real, virtual},
    ...,
    [[
    mpe-Reporting-FR2-r16               SetupRelease { MPE-Config-FR2-r16 }                     OPTIONAL     -- Need M
    ]],
    [[
    mpe-Reporting-FR2-r17               SetupRelease { MPE-Config-FR2-r17 }                     OPTIONAL,    -- Need M
    twoPHRMode-r17                      ENUMERATED {enabled}                                    OPTIONAL     -- Need R
    ]]
}

MPE-Config-FR2-r16 ::=              SEQUENCE {
    mpe-ProhibitTimer-r16               ENUMERATED {sf0, sf10, sf20, sf50, sf100, sf200, sf500, sf1000},
    mpe-Threshold-r16                   ENUMERATED {dB3, dB6, dB9, dB12}
}

MPE-Config-FR2-r17 ::=              SEQUENCE {
    mpe-ProhibitTimer-r17               ENUMERATED {sf0, sf10, sf20, sf50, sf100, sf200, sf500, sf1000},
    mpe-Threshold-r17                   ENUMERATED {dB3, dB6, dB9, dB12},
    numberOfN-r17                       INTEGER(1..4),
    ...
}

-- TAG-PHR-CONFIG-STOP
-- ASN1STOP

-- ASN1START

-- TAG-PHYSCELLID-START

PhysCellId ::=                      INTEGER (0..1007)

-- TAG-PHYSCELLID-STOP
-- ASN1STOP

-- ASN1START

-- TAG-PHYSICALCELLGROUPCONFIG-START

PhysicalCellGroupConfig ::=         SEQUENCE {
    harq-ACK-SpatialBundlingPUCCH       ENUMERATED {true}                                               OPTIONAL,   -- Need S
    harq-ACK-SpatialBundlingPUSCH       ENUMERATED {true}                                               OPTIONAL,   -- Need S
    p-NR-FR1                            P-Max                                                           OPTIONAL,   -- Need R
    pdsch-HARQ-ACK-Codebook             ENUMERATED {semiStatic, dynamic},
    tpc-SRS-RNTI                        RNTI-Value                                                      OPTIONAL,   -- Need R
    tpc-PUCCH-RNTI                      RNTI-Value                                                      OPTIONAL,   -- Need R
    tpc-PUSCH-RNTI                      RNTI-Value                                                      OPTIONAL,   -- Need R
    sp-CSI-RNTI                         RNTI-Value                                                      OPTIONAL,   -- Need R
    cs-RNTI                             SetupRelease { RNTI-Value }                                     OPTIONAL,   -- Need M
    ...,
    [[
    mcs-C-RNTI                          RNTI-Value                                                      OPTIONAL,   -- Need R
    p-UE-FR1                            P-Max                                                           OPTIONAL    -- Cond MCG-Only
    ]],
    [[
    xScale                              ENUMERATED {dB0, dB6, spare2, spare1}                           OPTIONAL    -- Cond SCG-Only
    ]],
    [[
    pdcch-BlindDetection                SetupRelease { PDCCH-BlindDetection }                           OPTIONAL    -- Need M
    ]],
    [[
    dcp-Config-r16                      SetupRelease { DCP-Config-r16 }                                 OPTIONAL,   -- Need M
    harq-ACK-SpatialBundlingPUCCH-secondaryPUCCHgroup-r16    ENUMERATED {enabled, disabled}             OPTIONAL,   -- Cond twoPUCCHgroup
    harq-ACK-SpatialBundlingPUSCH-secondaryPUCCHgroup-r16    ENUMERATED {enabled, disabled}             OPTIONAL,   -- Cond twoPUCCHgroup
    pdsch-HARQ-ACK-Codebook-secondaryPUCCHgroup-r16          ENUMERATED {semiStatic, dynamic}           OPTIONAL,   -- Cond twoPUCCHgroup
    p-NR-FR2-r16                                              P-Max                                     OPTIONAL,   -- Need R
    p-UE-FR2-r16                                              P-Max                                     OPTIONAL,   -- Cond MCG-Only
    nrdc-PCmode-FR1-r16                ENUMERATED {semi-static-mode1, semi-static-mode2, dynamic}       OPTIONAL,   -- Cond MCG-Only
    nrdc-PCmode-FR2-r16                ENUMERATED {semi-static-mode1, semi-static-mode2, dynamic}       OPTIONAL,   -- Cond MCG-Only
    pdsch-HARQ-ACK-Codebook-r16            ENUMERATED {enhancedDynamic}                                 OPTIONAL,   -- Need R
    nfi-TotalDAI-Included-r16              ENUMERATED {true}                                            OPTIONAL,   -- Need R
    ul-TotalDAI-Included-r16               ENUMERATED {true}                                            OPTIONAL,   -- Need R
    pdsch-HARQ-ACK-OneShotFeedback-r16     ENUMERATED {true}                                            OPTIONAL,   -- Need R
    pdsch-HARQ-ACK-OneShotFeedbackNDI-r16  ENUMERATED {true}                                            OPTIONAL,   -- Need R
    pdsch-HARQ-ACK-OneShotFeedbackCBG-r16  ENUMERATED {true}                                            OPTIONAL,   -- Need R
    downlinkAssignmentIndexDCI-0-2-r16     ENUMERATED { enabled }                                       OPTIONAL,   -- Need S
    downlinkAssignmentIndexDCI-1-2-r16     ENUMERATED {n1, n2, n4}                                      OPTIONAL,   -- Need S
    pdsch-HARQ-ACK-CodebookList-r16        SetupRelease {PDSCH-HARQ-ACK-CodebookList-r16}               OPTIONAL,   -- Need M
    ackNackFeedbackMode-r16                ENUMERATED {joint, separate}                                 OPTIONAL,   -- Need R
    pdcch-BlindDetectionCA-CombIndicator-r16 SetupRelease { PDCCH-BlindDetectionCA-CombIndicator-r16 }  OPTIONAL,   -- Need M
    pdcch-BlindDetection2-r16                SetupRelease { PDCCH-BlindDetection2-r16 }                 OPTIONAL,   -- Need M
    pdcch-BlindDetection3-r16                SetupRelease { PDCCH-BlindDetection3-r16 }                 OPTIONAL,   -- Need M
    bdFactorR-r16                          ENUMERATED {n1}                                              OPTIONAL    -- Need R
    ]],
    [[
    -- start of enhanced Type3 feedback
    pdsch-HARQ-ACK-EnhType3ToAddModList-r17   SEQUENCE (SIZE(1..maxNrofEnhType3HARQ-ACK-r17)) OF PDSCH-HARQ-ACK-EnhType3-r17
                                                                                                        OPTIONAL,   -- Need N
    pdsch-HARQ-ACK-EnhType3ToReleaseList-r17  SEQUENCE (SIZE(1..maxNrofEnhType3HARQ-ACK-r17)) OF PDSCH-HARQ-ACK-EnhType3Index-r17
                                                                                                        OPTIONAL,    -- Need N
    pdsch-HARQ-ACK-EnhType3SecondaryToAddModList-r17   SEQUENCE (SIZE(1..maxNrofEnhType3HARQ-ACK-r17)) OF PDSCH-HARQ-ACK-EnhType3-r17
                                                                                                        OPTIONAL,    -- Need N
    pdsch-HARQ-ACK-EnhType3SecondaryToReleaseList-r17  SEQUENCE (SIZE(1..maxNrofEnhType3HARQ-ACK-r17)) OF PDSCH-HARQ-ACK-EnhType3Index-r17
                                                                                                        OPTIONAL,    -- Need N
    pdsch-HARQ-ACK-EnhType3DCI-FieldSecondaryPUCCHgroup-r17 ENUMERATED {enabled}                        OPTIONAL,   -- Cond twoPUCCHgroup
    pdsch-HARQ-ACK-EnhType3DCI-Field-r17                ENUMERATED {enabled}                            OPTIONAL,   -- Need R
    -- end of enhanced Type3 feedback

    -- start of triggering of HARQ-ACK re-transmission on a PUCCH resource
    pdsch-HARQ-ACK-Retx-r17                   ENUMERATED {enabled}                                      OPTIONAL,   -- Need R
    pdsch-HARQ-ACK-RetxSecondaryPUCCHgroup-r17  ENUMERATED {enabled}                                    OPTIONAL,   -- Cond twoPUCCHgroup
    -- end of triggering of HARQ-ACK re-transmission on a PUCCH resource

    -- start of PUCCH Cell switching
    pucch-sSCell-r17                         SCellIndex                                                    OPTIONAL,   -- Need R
    pucch-sSCellSecondaryPUCCHgroup-r17      SCellIndex                                                    OPTIONAL,   -- Cond twoPUCCHgroup
    pucch-sSCellDyn-r17                      ENUMERATED {enabled}                                       OPTIONAL,   -- Need R
    pucch-sSCellDynSecondaryPUCCHgroup-r17   ENUMERATED {enabled}                                       OPTIONAL,   -- Cond twoPUCCHgroup
    pucch-sSCellPattern-r17                      SEQUENCE (SIZE(1..maxNrofSlots)) OF INTEGER (0..1)        OPTIONAL,   -- Need R
    pucch-sSCellPatternSecondaryPUCCHgroup-r17   SEQUENCE (SIZE(1..maxNrofSlots)) OF INTEGER (0..1)        OPTIONAL,   -- Cond twoPUCCHgroup
    -- end of PUCCH Cell switching

    uci-MuxWithDiffPrio-r17           ENUMERATED {enabled}                                      OPTIONAL,   -- Need R
    uci-MuxWithDiffPrioSecondaryPUCCHgroup-r17     ENUMERATED {enabled}                         OPTIONAL,   -- Cond twoPUCCHgroup
    simultaneousPUCCH-PUSCH-r17       ENUMERATED {enabled}                                      OPTIONAL,   -- Need R
    simultaneousPUCCH-PUSCH-SecondaryPUCCHgroup-r17       ENUMERATED {enabled}                  OPTIONAL,   -- Cond twoPUCCHgroup

    prioLowDG-HighCG-r17              ENUMERATED {enabled}                                      OPTIONAL,   -- Need R
    prioHighDG-LowCG-r17              ENUMERATED {enabled}                                      OPTIONAL,   -- Need R
    twoQCLTypeDforPDCCHRepetition-r17 ENUMERATED {enabled}                                      OPTIONAL,   -- Need R
    multicastConfig-r17               SetupRelease { MulticastConfig-r17 }                      OPTIONAL,   -- Need M
    pdcch-BlindDetectionCA-CombIndicator-r17 SetupRelease { PDCCH-BlindDetectionCA-CombIndicator-r17 }  OPTIONAL   -- Need M
    ]],
    [[
    simultaneousSR-PUSCH-diffPUCCH-Groups-r17      ENUMERATED {enabled}                         OPTIONAL    -- Cond twoPUCCHgroup
    ]],
    [[
    intraBandNC-PRACH-simulTx-r17     ENUMERATED {enabled}                                      OPTIONAL    -- Need R
    ]]
}


PDSCH-HARQ-ACK-EnhType3-r17 ::=         SEQUENCE {
    pdsch-HARQ-ACK-EnhType3Index-r17    PDSCH-HARQ-ACK-EnhType3Index-r17,
    applicable-r17   CHOICE {
        perCC                            SEQUENCE (SIZE (1..maxNrofServingCells)) OF INTEGER (0..1),
        perHARQ                          SEQUENCE (SIZE (1..maxNrofServingCells)) OF BIT STRING (SIZE (16))
    },
    pdsch-HARQ-ACK-EnhType3NDI-r17         ENUMERATED {true}                                            OPTIONAL,   -- Need R
    pdsch-HARQ-ACK-EnhType3CBG-r17         ENUMERATED {true}                                            OPTIONAL,   -- Need S
    ...
}

PDSCH-HARQ-ACK-EnhType3Index-r17 ::=    INTEGER (0..maxNrofEnhType3HARQ-ACK-1-r17)

PDCCH-BlindDetection ::=                INTEGER (1..15)

DCP-Config-r16 ::=                  SEQUENCE {
    ps-RNTI-r16                         RNTI-Value,
    ps-Offset-r16                       INTEGER (1..120),
    sizeDCI-2-6-r16                     INTEGER (1..maxDCI-2-6-Size-r16),
    ps-PositionDCI-2-6-r16              INTEGER (0..maxDCI-2-6-Size-1-r16),
    ps-WakeUp-r16                       ENUMERATED {true}                                               OPTIONAL,   -- Need S
    ps-TransmitPeriodicL1-RSRP-r16      ENUMERATED {true}                                               OPTIONAL,   -- Need S
    ps-TransmitOtherPeriodicCSI-r16     ENUMERATED {true}                                               OPTIONAL    -- Need S
}

PDSCH-HARQ-ACK-CodebookList-r16 ::=     SEQUENCE (SIZE (1..2)) OF ENUMERATED {semiStatic, dynamic}

PDCCH-BlindDetectionCA-CombIndicator-r16 ::= SEQUENCE {
    pdcch-BlindDetectionCA1-r16                  INTEGER (1..15),
    pdcch-BlindDetectionCA2-r16                  INTEGER (1..15)
}

PDCCH-BlindDetection2-r16 ::=                INTEGER (1..15)

PDCCH-BlindDetection3-r16 ::=                INTEGER (1..15)

MulticastConfig-r17 ::=                 SEQUENCE {
    pdsch-HARQ-ACK-CodebookListMulticast-r17    SetupRelease { PDSCH-HARQ-ACK-CodebookList-r16}         OPTIONAL,   -- Need M
    type1CodebookGenerationMode-r17             ENUMERATED { mode1, mode2}                              OPTIONAL    -- Need M
}

PDCCH-BlindDetectionCA-CombIndicator-r17 ::= SEQUENCE {
    pdcch-BlindDetectionCA1-r17                  INTEGER (1..15)                                        OPTIONAL,   -- Need R
    pdcch-BlindDetectionCA2-r17                  INTEGER (1..15)                                        OPTIONAL,   -- Need R
    pdcch-BlindDetectionCA3-r17                  INTEGER (1..15)
}

-- TAG-PHYSICALCELLGROUPCONFIG-STOP
-- ASN1STOP

-- ASN1START

-- TAG-PLMN-IDENTITY-START

PLMN-Identity ::=                   SEQUENCE {
    mcc                                 MCC                 OPTIONAL,                   -- Cond MCC
    mnc                                 MNC
}

MCC ::=                             SEQUENCE (SIZE (3)) OF MCC-MNC-Digit

MNC ::=                             SEQUENCE (SIZE (2..3)) OF MCC-MNC-Digit

MCC-MNC-Digit ::=                   INTEGER (0..9)

-- TAG-PLMN-IDENTITY-STOP
-- ASN1STOP

-- ASN1START

-- TAG-PLMN-IDENTITYINFOLIST-START

PLMN-IdentityInfoList ::=               SEQUENCE (SIZE (1..maxPLMN)) OF PLMN-IdentityInfo

PLMN-IdentityInfo ::=                   SEQUENCE {
    plmn-IdentityList                       SEQUENCE (SIZE (1..maxPLMN)) OF PLMN-Identity,
    trackingAreaCode                        TrackingAreaCode                                            OPTIONAL,       -- Need R
    ranac                                   RAN-AreaCode                                                OPTIONAL,       -- Need R
    cellIdentity                            CellIdentity,
    cellReservedForOperatorUse              ENUMERATED {reserved, notReserved},
    ...,
    [[
    iab-Support-r16                     ENUMERATED {true}                                               OPTIONAL       -- Need S
    ]],
    [[
    trackingAreaList-r17                SEQUENCE (SIZE (1..maxTAC-r17)) OF TrackingAreaCode             OPTIONAL,      -- Need R
    gNB-ID-Length-r17                   INTEGER (22..32)                                                OPTIONAL       -- Need R
    ]]
}
-- TAG-PLMN-IDENTITYINFOLIST-STOP
-- ASN1STOP

-- ASN1START

-- TAG-PLMNIDENTITYLIST2-START

PLMN-IdentityList2-r16 ::= SEQUENCE (SIZE (1..16)) OF PLMN-Identity

-- TAG-PLMNIDENTITYLIST2-STOP
-- ASN1STOP

-- ASN1START

-- TAG-PRB-ID-START

PRB-Id ::=                          INTEGER (0..maxNrofPhysicalResourceBlocks-1)

-- TAG-PRB-ID-STOP
-- ASN1STOP

-- ASN1START

-- TAG-PTRS-DOWNLINKCONFIG-START

PTRS-DownlinkConfig ::=             SEQUENCE {
    frequencyDensity                    SEQUENCE (SIZE (2)) OF INTEGER (1..276)                                 OPTIONAL,   -- Need S
    timeDensity                         SEQUENCE (SIZE (3)) OF INTEGER (0..29)                                  OPTIONAL,   -- Need S
    epre-Ratio                          INTEGER (0..3)                                                          OPTIONAL,   -- Need S
    resourceElementOffset               ENUMERATED { offset01, offset10, offset11 }                             OPTIONAL,   -- Need S
    ...,
    [[
    maxNrofPorts-r16                    ENUMERATED {n1, n2}                                                     OPTIONAL    -- Need R
    ]]

}

-- TAG-PTRS-DOWNLINKCONFIG-STOP
-- ASN1STOP

-- ASN1START

-- TAG-PTRS-UPLINKCONFIG-START

PTRS-UplinkConfig ::=                   SEQUENCE {
    transformPrecoderDisabled               SEQUENCE {
        frequencyDensity                    SEQUENCE (SIZE (2)) OF INTEGER (1..276)                 OPTIONAL,   -- Need S
        timeDensity                         SEQUENCE (SIZE (3)) OF INTEGER (0..29)                  OPTIONAL,   -- Need S
        maxNrofPorts                        ENUMERATED {n1, n2},
        resourceElementOffset               ENUMERATED {offset01, offset10, offset11 }              OPTIONAL,   -- Need S
        ptrs-Power                          ENUMERATED {p00, p01, p10, p11}
    }                                                                                               OPTIONAL,   -- Need R
    transformPrecoderEnabled                SEQUENCE {
        sampleDensity                           SEQUENCE (SIZE (5)) OF INTEGER (1..276),
        timeDensityTransformPrecoding           ENUMERATED {d2}                                     OPTIONAL    -- Need S
    }                                                                                               OPTIONAL,   -- Need R
    ...
}

-- TAG-PTRS-UPLINKCONFIG-STOP
-- ASN1STOP

-- ASN1START

-- TAG-PUCCH-CONFIG-START

PUCCH-Config ::=                        SEQUENCE {
    resourceSetToAddModList                 SEQUENCE (SIZE (1..maxNrofPUCCH-ResourceSets)) OF PUCCH-ResourceSet   OPTIONAL, -- Need N
    resourceSetToReleaseList                SEQUENCE (SIZE (1..maxNrofPUCCH-ResourceSets)) OF PUCCH-ResourceSetId OPTIONAL, -- Need N
    resourceToAddModList                    SEQUENCE (SIZE (1..maxNrofPUCCH-Resources)) OF PUCCH-Resource         OPTIONAL, -- Need N
    resourceToReleaseList                   SEQUENCE (SIZE (1..maxNrofPUCCH-Resources)) OF PUCCH-ResourceId       OPTIONAL, -- Need N
    format1                                 SetupRelease { PUCCH-FormatConfig }                                   OPTIONAL, -- Need M
    format2                                 SetupRelease { PUCCH-FormatConfig }                                   OPTIONAL, -- Need M
    format3                                 SetupRelease { PUCCH-FormatConfig }                                   OPTIONAL, -- Need M
    format4                                 SetupRelease { PUCCH-FormatConfig }                                   OPTIONAL, -- Need M
    schedulingRequestResourceToAddModList   SEQUENCE (SIZE (1..maxNrofSR-Resources)) OF SchedulingRequestResourceConfig
                                                                                                                  OPTIONAL, -- Need N
    schedulingRequestResourceToReleaseList  SEQUENCE (SIZE (1..maxNrofSR-Resources)) OF SchedulingRequestResourceId
                                                                                                                  OPTIONAL, -- Need N
    multi-CSI-PUCCH-ResourceList            SEQUENCE (SIZE (1..2)) OF PUCCH-ResourceId                            OPTIONAL, -- Need M
    dl-DataToUL-ACK                         SEQUENCE (SIZE (1..8)) OF INTEGER (0..15)                             OPTIONAL, -- Need M
    spatialRelationInfoToAddModList         SEQUENCE (SIZE (1..maxNrofSpatialRelationInfos)) OF PUCCH-SpatialRelationInfo
                                                                                                                  OPTIONAL, -- Need N
    spatialRelationInfoToReleaseList        SEQUENCE (SIZE (1..maxNrofSpatialRelationInfos)) OF PUCCH-SpatialRelationInfoId
                                                                                                                  OPTIONAL, -- Need N
    pucch-PowerControl                      PUCCH-PowerControl                                                    OPTIONAL, -- Need M
    ...,
    [[
    resourceToAddModListExt-v1610           SEQUENCE (SIZE (1..maxNrofPUCCH-Resources)) OF PUCCH-ResourceExt-v1610  OPTIONAL, -- Need N
    dl-DataToUL-ACK-r16                     SetupRelease { DL-DataToUL-ACK-r16 }                                  OPTIONAL, -- Need M
    ul-AccessConfigListDCI-1-1-r16          SetupRelease { UL-AccessConfigListDCI-1-1-r16 }                       OPTIONAL, -- Need M
    subslotLengthForPUCCH-r16               CHOICE {
            normalCP-r16                        ENUMERATED {n2,n7},
            extendedCP-r16                      ENUMERATED {n2,n6}
    }                                                                                                             OPTIONAL, -- Need R
    dl-DataToUL-ACK-DCI-1-2-r16             SetupRelease { DL-DataToUL-ACK-DCI-1-2-r16}                           OPTIONAL, -- Need M
    numberOfBitsForPUCCH-ResourceIndicatorDCI-1-2-r16  INTEGER (0..3)                                             OPTIONAL, -- Need R
    dmrs-UplinkTransformPrecodingPUCCH-r16  ENUMERATED {enabled}                                                  OPTIONAL,  -- Cond PI2-BPSK
    spatialRelationInfoToAddModListSizeExt-v1610    SEQUENCE (SIZE (1..maxNrofSpatialRelationInfosDiff-r16)) OF PUCCH-SpatialRelationInfo
                                                                                                                  OPTIONAL, -- Need N
    spatialRelationInfoToReleaseListSizeExt-v1610   SEQUENCE (SIZE (1..maxNrofSpatialRelationInfosDiff-r16)) OF PUCCH-SpatialRelationInfoId
                                                                                                                  OPTIONAL, -- Need N
    spatialRelationInfoToAddModListExt-v1610  SEQUENCE (SIZE (1..maxNrofSpatialRelationInfos-r16)) OF PUCCH-SpatialRelationInfoExt-r16
                                                                                                                  OPTIONAL, -- Need N
    spatialRelationInfoToReleaseListExt-v1610    SEQUENCE (SIZE (1..maxNrofSpatialRelationInfos-r16)) OF
                                                                            PUCCH-SpatialRelationInfoId-r16       OPTIONAL, -- Need N
    resourceGroupToAddModList-r16           SEQUENCE (SIZE (1..maxNrofPUCCH-ResourceGroups-r16)) OF PUCCH-ResourceGroup-r16
                                                                                                                  OPTIONAL, -- Need N
    resourceGroupToReleaseList-r16          SEQUENCE (SIZE (1..maxNrofPUCCH-ResourceGroups-r16)) OF PUCCH-ResourceGroupId-r16
                                                                                                                  OPTIONAL, -- Need N
    sps-PUCCH-AN-List-r16                   SetupRelease { SPS-PUCCH-AN-List-r16 }                                OPTIONAL,  -- Need M
    schedulingRequestResourceToAddModListExt-v1610   SEQUENCE (SIZE (1..maxNrofSR-Resources)) OF SchedulingRequestResourceConfigExt-v1610
                                                                                                                  OPTIONAL -- Need N
    ]],
    [[
    format0-r17                             SetupRelease { PUCCH-FormatConfig }                                   OPTIONAL, -- Need M
    format2Ext-r17                          SetupRelease { PUCCH-FormatConfigExt-r17 }                            OPTIONAL, -- Need M
    format3Ext-r17                          SetupRelease { PUCCH-FormatConfigExt-r17 }                            OPTIONAL, -- Need M
    format4Ext-r17                          SetupRelease { PUCCH-FormatConfigExt-r17 }                            OPTIONAL, -- Need M
    ul-AccessConfigListDCI-1-2-r17          SetupRelease { UL-AccessConfigListDCI-1-2-r17 }                       OPTIONAL, -- Need M
    mappingPattern-r17                      ENUMERATED {cyclicMapping, sequentialMapping}                         OPTIONAL, -- Need R
    powerControlSetInfoToAddModList-r17     SEQUENCE (SIZE (1..maxNrofPowerControlSetInfos-r17)) OF PUCCH-PowerControlSetInfo-r17
                                                                                                                  OPTIONAL, -- Need N
    powerControlSetInfoToReleaseList-r17    SEQUENCE (SIZE (1..maxNrofPowerControlSetInfos-r17)) OF PUCCH-PowerControlSetInfoId-r17
                                                                                                                  OPTIONAL, -- Need N
    secondTPCFieldDCI-1-1-r17               ENUMERATED {enabled}                                                  OPTIONAL, -- Need R
    secondTPCFieldDCI-1-2-r17               ENUMERATED {enabled}                                                  OPTIONAL, -- Need R
    dl-DataToUL-ACK-r17                     SetupRelease { DL-DataToUL-ACK-r17 }                                  OPTIONAL, -- Need M
    dl-DataToUL-ACK-DCI-1-2-r17             SetupRelease { DL-DataToUL-ACK-DCI-1-2-r17}                           OPTIONAL, -- Need M
    ul-AccessConfigListDCI-1-1-r17          SetupRelease { UL-AccessConfigListDCI-1-1-r17 }                       OPTIONAL, -- Need M
    schedulingRequestResourceToAddModListExt-v1700 SEQUENCE (SIZE (1..maxNrofSR-Resources)) OF SchedulingRequestResourceConfigExt-v1700
                                                                                                                  OPTIONAL, -- Need N
    dmrs-BundlingPUCCH-Config-r17           SetupRelease { DMRS-BundlingPUCCH-Config-r17 }                        OPTIONAL, -- Need M
    dl-DataToUL-ACK-v1700                   SetupRelease { DL-DataToUL-ACK-v1700 }                                OPTIONAL, -- Need M
    dl-DataToUL-ACK-MulticastDCI-Format4-1-r17 SetupRelease { DL-DataToUL-ACK-MulticastDCI-Format4-1-r17 }        OPTIONAL, -- Need M
    sps-PUCCH-AN-ListMulticast-r17          SetupRelease { SPS-PUCCH-AN-List-r16 }                                OPTIONAL  -- Need M
    ]]
}

PUCCH-FormatConfig ::=                  SEQUENCE {
    interslotFrequencyHopping               ENUMERATED {enabled}                                                  OPTIONAL, -- Need R
    additionalDMRS                          ENUMERATED {true}                                                     OPTIONAL, -- Need R
    maxCodeRate                             PUCCH-MaxCodeRate                                                     OPTIONAL, -- Need R
    nrofSlots                               ENUMERATED {n2,n4,n8}                                                 OPTIONAL, -- Need S
    pi2BPSK                                 ENUMERATED {enabled}                                                  OPTIONAL, -- Need R
    simultaneousHARQ-ACK-CSI                ENUMERATED {true}                                                     OPTIONAL  -- Need R
}

PUCCH-FormatConfigExt-r17 ::=           SEQUENCE {
    maxCodeRateLP-r17                       PUCCH-MaxCodeRate                                                     OPTIONAL, -- Need R
    ...
}

PUCCH-MaxCodeRate ::=                   ENUMERATED {zeroDot08, zeroDot15, zeroDot25, zeroDot35, zeroDot45, zeroDot60, zeroDot80}

-- A set with one or more PUCCH resources
PUCCH-ResourceSet ::=                   SEQUENCE {
    pucch-ResourceSetId                     PUCCH-ResourceSetId,
    resourceList                            SEQUENCE (SIZE (1..maxNrofPUCCH-ResourcesPerSet)) OF PUCCH-ResourceId,
    maxPayloadSize                          INTEGER (4..256)                                                      OPTIONAL  -- Need R
}

PUCCH-ResourceSetId ::=                 INTEGER (0..maxNrofPUCCH-ResourceSets-1)

PUCCH-Resource ::=                      SEQUENCE {
    pucch-ResourceId                        PUCCH-ResourceId,
    startingPRB                             PRB-Id,
    intraSlotFrequencyHopping               ENUMERATED { enabled }                                                OPTIONAL, -- Need R
    secondHopPRB                            PRB-Id                                                                OPTIONAL, -- Need R
    format                                  CHOICE {
        format0                                 PUCCH-format0,
        format1                                 PUCCH-format1,
        format2                                 PUCCH-format2,
        format3                                 PUCCH-format3,
        format4                                 PUCCH-format4
    }
}

PUCCH-ResourceExt-v1610 ::=             SEQUENCE {
    interlaceAllocation-r16                 SEQUENCE {
        rb-SetIndex-r16                         INTEGER (0..4),
        interlace0-r16                          CHOICE {
            scs15                                   INTEGER (0..9),
            scs30                                   INTEGER (0..4)
        }
    }                                                                                                             OPTIONAL,  --Need R
    format-v1610                            CHOICE {
        interlace1-v1610                            INTEGER (0..9),
        occ-v1610                                   SEQUENCE {
            occ-Length-v1610                                ENUMERATED {n2,n4}                                       OPTIONAL, -- Need M
            occ-Index-v1610                                 ENUMERATED {n0,n1,n2,n3}                                 OPTIONAL  -- Need M
        }
    }                                                                                                            OPTIONAL,  -- Need R
    ...,
    [[
    format-v1700                         SEQUENCE {
        nrofPRBs-r17                            INTEGER (1..16)
    }                                                                                                            OPTIONAL,  -- Need R
    pucch-RepetitionNrofSlots-r17           ENUMERATED { n1,n2,n4,n8 }                                              OPTIONAL   -- Need R
    ]]
}

PUCCH-ResourceId ::=                    INTEGER (0..maxNrofPUCCH-Resources-1)


PUCCH-format0 ::=                               SEQUENCE {
    initialCyclicShift                              INTEGER(0..11),
    nrofSymbols                                     INTEGER (1..2),
    startingSymbolIndex                             INTEGER(0..13)
}

PUCCH-format1 ::=                               SEQUENCE {
    initialCyclicShift                              INTEGER(0..11),
    nrofSymbols                                     INTEGER (4..14),
    startingSymbolIndex                             INTEGER(0..10),
    timeDomainOCC                                   INTEGER(0..6)
}

PUCCH-format2 ::=                               SEQUENCE {
    nrofPRBs                                        INTEGER (1..16),
    nrofSymbols                                     INTEGER (1..2),
    startingSymbolIndex                             INTEGER(0..13)
}

PUCCH-format3 ::=                               SEQUENCE {
    nrofPRBs                                        INTEGER (1..16),
    nrofSymbols                                     INTEGER (4..14),
    startingSymbolIndex                             INTEGER(0..10)
}

PUCCH-format4 ::=                               SEQUENCE {
    nrofSymbols                                     INTEGER (4..14),
    occ-Length                                      ENUMERATED {n2,n4},
    occ-Index                                       ENUMERATED {n0,n1,n2,n3},
    startingSymbolIndex                             INTEGER(0..10)
}

PUCCH-ResourceGroup-r16 ::=                SEQUENCE {
    pucch-ResourceGroupId-r16                  PUCCH-ResourceGroupId-r16,
    resourcePerGroupList-r16                   SEQUENCE (SIZE (1..maxNrofPUCCH-ResourcesPerGroup-r16)) OF PUCCH-ResourceId
}

PUCCH-ResourceGroupId-r16 ::=              INTEGER (0..maxNrofPUCCH-ResourceGroups-1-r16)

DL-DataToUL-ACK-r16 ::=                    SEQUENCE (SIZE (1..8)) OF INTEGER (-1..15)

DL-DataToUL-ACK-r17 ::=                    SEQUENCE (SIZE (1..8)) OF INTEGER (-1..127)

DL-DataToUL-ACK-v1700 ::=                  SEQUENCE (SIZE (1..8)) OF INTEGER (16..31)

DL-DataToUL-ACK-DCI-1-2-r16 ::=            SEQUENCE (SIZE (1..8)) OF INTEGER (0..15)

DL-DataToUL-ACK-DCI-1-2-r17 ::=            SEQUENCE (SIZE (1..8)) OF INTEGER (0..127)

UL-AccessConfigListDCI-1-1-r16 ::=         SEQUENCE (SIZE (1..16)) OF INTEGER (0..15)

UL-AccessConfigListDCI-1-2-r17 ::=         SEQUENCE (SIZE (1..16)) OF INTEGER (0..15)

UL-AccessConfigListDCI-1-1-r17 ::=         SEQUENCE (SIZE (1..3)) OF INTEGER (0..2)

DL-DataToUL-ACK-MulticastDCI-Format4-1-r17 ::= SEQUENCE (SIZE (1..8)) OF INTEGER (0..15)

-- TAG-PUCCH-CONFIG-STOP
-- ASN1STOP

-- ASN1START

-- TAG-PUCCH-CONFIGCOMMON-START

PUCCH-ConfigCommon ::=              SEQUENCE {
    pucch-ResourceCommon                INTEGER (0..15)                                      OPTIONAL,   -- Cond InitialBWP-Only
    pucch-GroupHopping                  ENUMERATED { neither, enable, disable },
    hoppingId                           INTEGER (0..1023)                                    OPTIONAL,   -- Need R
    p0-nominal                          INTEGER (-202..24)                                   OPTIONAL,   -- Need R
    ...,
    [[
    nrofPRBs                            INTEGER (1..16)                                      OPTIONAL,   -- Need R
    intra-SlotFH-r17                    ENUMERATED {fromLowerEdge, fromUpperEdge}            OPTIONAL,   -- Need R
    pucch-ResourceCommonRedCap-r17     INTEGER (0..15)                                      OPTIONAL,   -- Cond InitialBWP-RedCap
    additionalPRBOffset-r17                 ENUMERATED {n2, n3, n4, n6, n8, n9, n10, n12}        OPTIONAL    -- Need S
    ]]
}

-- TAG-PUCCH-CONFIGCOMMON-STOP
-- ASN1STOP

-- ASN1START

-- TAG-PUCCH-CONFIGURATIONLIST-START

PUCCH-ConfigurationList-r16 ::=     SEQUENCE (SIZE (1..2)) OF PUCCH-Config

-- TAG-PUCCH-CONFIGURATIONLIST-STOP
-- ASN1STOP

-- ASN1START

-- TAG-PUCCH-PATHLOSSREFERENCERS-ID-START

PUCCH-PathlossReferenceRS-Id ::=            INTEGER (0..maxNrofPUCCH-PathlossReferenceRSs-1)

PUCCH-PathlossReferenceRS-Id-v1610 ::=      INTEGER (maxNrofPUCCH-PathlossReferenceRSs..maxNrofPUCCH-PathlossReferenceRSs-1-r16)

PUCCH-PathlossReferenceRS-Id-r17 ::=        INTEGER (0..maxNrofPUCCH-PathlossReferenceRSs-1-r17)

-- TAG-PUCCH-PATHLOSSREFERENCERS-ID-STOP
-- ASN1STOP

-- ASN1START

-- TAG-PUCCH-POWERCONTROL-START
PUCCH-PowerControl ::=              SEQUENCE {
    deltaF-PUCCH-f0                     INTEGER (-16..15)                                                       OPTIONAL, -- Need R
    deltaF-PUCCH-f1                     INTEGER (-16..15)                                                       OPTIONAL, -- Need R
    deltaF-PUCCH-f2                     INTEGER (-16..15)                                                       OPTIONAL, -- Need R
    deltaF-PUCCH-f3                     INTEGER (-16..15)                                                       OPTIONAL, -- Need R
    deltaF-PUCCH-f4                     INTEGER (-16..15)                                                       OPTIONAL, -- Need R
    p0-Set                              SEQUENCE (SIZE (1..maxNrofPUCCH-P0-PerSet)) OF P0-PUCCH                 OPTIONAL, -- Need M
    pathlossReferenceRSs                SEQUENCE (SIZE (1..maxNrofPUCCH-PathlossReferenceRSs)) OF PUCCH-PathlossReferenceRS
                                                                                                                OPTIONAL, -- Need M
    twoPUCCH-PC-AdjustmentStates        ENUMERATED {twoStates}                                                  OPTIONAL, -- Need S
    ...,
    [[
    pathlossReferenceRSs-v1610          SetupRelease { PathlossReferenceRSs-v1610 }                             OPTIONAL -- Need M
    ]]
}

P0-PUCCH ::=                            SEQUENCE {
    p0-PUCCH-Id                             P0-PUCCH-Id,
    p0-PUCCH-Value                          INTEGER (-16..15)
}

P0-PUCCH-Id ::=                         INTEGER (1..8)

PathlossReferenceRSs-v1610 ::=          SEQUENCE (SIZE (1..maxNrofPUCCH-PathlossReferenceRSsDiff-r16)) OF PUCCH-PathlossReferenceRS-r16

PUCCH-PathlossReferenceRS ::=                   SEQUENCE {
    pucch-PathlossReferenceRS-Id                PUCCH-PathlossReferenceRS-Id,
    referenceSignal                             CHOICE {
        ssb-Index                                   SSB-Index,
        csi-RS-Index                                NZP-CSI-RS-ResourceId
    }
}

PUCCH-PathlossReferenceRS-r16 ::=                   SEQUENCE {
    pucch-PathlossReferenceRS-Id-r16                    PUCCH-PathlossReferenceRS-Id-v1610,
    referenceSignal-r16                                 CHOICE {
        ssb-Index-r16                                       SSB-Index,
        csi-RS-Index-r16                                    NZP-CSI-RS-ResourceId
    }
}

PUCCH-PowerControlSetInfo-r17 ::=       SEQUENCE {
    pucch-PowerControlSetInfoId-r17         PUCCH-PowerControlSetInfoId-r17,
    p0-PUCCH-Id-r17                         P0-PUCCH-Id,
    pucch-ClosedLoopIndex-r17               ENUMERATED { i0, i1 },
    pucch-PathlossReferenceRS-Id-r17        PUCCH-PathlossReferenceRS-Id-r17
}

PUCCH-PowerControlSetInfoId-r17 ::=     INTEGER (1..maxNrofPowerControlSetInfos-r17)

-- TAG-PUCCH-POWERCONTROL-STOP
-- ASN1STOP

-- ASN1START

-- TAG-PUCCH-SPATIALRELATIONINFO-START

PUCCH-SpatialRelationInfo ::=           SEQUENCE {
    pucch-SpatialRelationInfoId         PUCCH-SpatialRelationInfoId,
    servingCellId                           ServCellIndex                                                    OPTIONAL,   -- Need S
    referenceSignal                         CHOICE {
        ssb-Index                               SSB-Index,
        csi-RS-Index                            NZP-CSI-RS-ResourceId,
        srs                                     PUCCH-SRS
    },
    pucch-PathlossReferenceRS-Id            PUCCH-PathlossReferenceRS-Id,
    p0-PUCCH-Id                             P0-PUCCH-Id,
    closedLoopIndex                         ENUMERATED { i0, i1 }
}

PUCCH-SpatialRelationInfoExt-r16 ::=       SEQUENCE {
    pucch-SpatialRelationInfoId-v1610         PUCCH-SpatialRelationInfoId-v1610                              OPTIONAL,   -- Need S
    pucch-PathlossReferenceRS-Id-v1610        PUCCH-PathlossReferenceRS-Id-v1610                             OPTIONAL,    --Need R
    ...
}

PUCCH-SRS ::=                       SEQUENCE {
    resource                            SRS-ResourceId,
    uplinkBWP                           BWP-Id
}

-- TAG-PUCCH-SPATIALRELATIONINFO-STOP
-- ASN1STOP

-- ASN1START

-- TAG-PUCCH-SPATIALRELATIONINFO-START

PUCCH-SpatialRelationInfoId ::=         INTEGER (1..maxNrofSpatialRelationInfos)

PUCCH-SpatialRelationInfoId-r16 ::=     INTEGER (1..maxNrofSpatialRelationInfos-r16)

PUCCH-SpatialRelationInfoId-v1610 ::=    INTEGER (maxNrofSpatialRelationInfos-plus-1..maxNrofSpatialRelationInfos-r16)

-- TAG-PUCCH-SPATIALRELATIONINFO-STOP
-- ASN1STOP

-- ASN1START

-- TAG-PUCCH-TPC-COMMANDCONFIG-START

PUCCH-TPC-CommandConfig ::=             SEQUENCE {
    tpc-IndexPCell                          INTEGER (1..15)                         OPTIONAL,   -- Cond PDCCH-OfSpcell
    tpc-IndexPUCCH-SCell                    INTEGER (1..15)                         OPTIONAL,   -- Cond PDCCH-ofSpCellOrPUCCH-SCell
    ...,
    [[
    tpc-IndexPUCCH-sSCell-r17                             INTEGER (1..15)                         OPTIONAL,  -- Need R
    tpc-IndexPUCCH-sScellSecondaryPUCCHgroup-r17          INTEGER (1..15)                         OPTIONAL   -- Cond twoPUCCHgroup
    ]]
}

-- TAG-PUCCH-TPC-COMMANDCONFIG-STOP
-- ASN1STOP

-- ASN1START

-- TAG-PUSCH-CONFIG-START

PUSCH-Config ::=                        SEQUENCE {
    dataScramblingIdentityPUSCH             INTEGER (0..1023)                                                   OPTIONAL,   -- Need S
    txConfig                                ENUMERATED {codebook, nonCodebook}                                  OPTIONAL,   -- Need S
    dmrs-UplinkForPUSCH-MappingTypeA        SetupRelease { DMRS-UplinkConfig }                                  OPTIONAL,   -- Need M
    dmrs-UplinkForPUSCH-MappingTypeB        SetupRelease { DMRS-UplinkConfig }                                  OPTIONAL,   -- Need M
    pusch-PowerControl                      PUSCH-PowerControl                                                  OPTIONAL,   -- Need M
    frequencyHopping                        ENUMERATED {intraSlot, interSlot}                                   OPTIONAL,   -- Need S
    frequencyHoppingOffsetLists             SEQUENCE (SIZE (1..4)) OF INTEGER (1..maxNrofPhysicalResourceBlocks-1)
                                                                                                                OPTIONAL,   -- Need M
    resourceAllocation                      ENUMERATED { resourceAllocationType0, resourceAllocationType1, dynamicSwitch},
    pusch-TimeDomainAllocationList          SetupRelease { PUSCH-TimeDomainResourceAllocationList }             OPTIONAL,   -- Need M
    pusch-AggregationFactor                 ENUMERATED { n2, n4, n8 }                                           OPTIONAL,   -- Need S
    mcs-Table                               ENUMERATED {qam256, qam64LowSE}                                     OPTIONAL,   -- Need S
    mcs-TableTransformPrecoder              ENUMERATED {qam256, qam64LowSE}                                     OPTIONAL,   -- Need S
    transformPrecoder                       ENUMERATED {enabled, disabled}                                      OPTIONAL,   -- Need S
    codebookSubset                          ENUMERATED {fullyAndPartialAndNonCoherent, partialAndNonCoherent,nonCoherent}
                                                                                                          OPTIONAL, -- Cond codebookBased
    maxRank                                 INTEGER (1..4)                                                OPTIONAL, -- Cond codebookBased
    rbg-Size                                ENUMERATED { config2}                                         OPTIONAL, -- Need S
    uci-OnPUSCH                             SetupRelease { UCI-OnPUSCH}                                   OPTIONAL, -- Need M
    tp-pi2BPSK                              ENUMERATED {enabled}                                          OPTIONAL, -- Need S
    ...,
    [[
    minimumSchedulingOffsetK2-r16           SetupRelease { MinSchedulingOffsetK2-Values-r16 }             OPTIONAL,  -- Need M
    ul-AccessConfigListDCI-0-1-r16          SetupRelease { UL-AccessConfigListDCI-0-1-r16 }               OPTIONAL,  -- Need M
    -- Start of the parameters for DCI format 0_2 introduced in V16.1.0
    harq-ProcessNumberSizeDCI-0-2-r16                       INTEGER (0..4)                                OPTIONAL,   -- Need R
    dmrs-SequenceInitializationDCI-0-2-r16                  ENUMERATED {enabled}                          OPTIONAL,   -- Need S
    numberOfBitsForRV-DCI-0-2-r16                           INTEGER (0..2)                                OPTIONAL,   -- Need R
    antennaPortsFieldPresenceDCI-0-2-r16                    ENUMERATED {enabled}                          OPTIONAL,   -- Need S
    dmrs-UplinkForPUSCH-MappingTypeA-DCI-0-2-r16            SetupRelease { DMRS-UplinkConfig }            OPTIONAL,   -- Need M
    dmrs-UplinkForPUSCH-MappingTypeB-DCI-0-2-r16            SetupRelease { DMRS-UplinkConfig }            OPTIONAL,   -- Need M
    frequencyHoppingDCI-0-2-r16                             CHOICE {
        pusch-RepTypeA                                          ENUMERATED {intraSlot, interSlot},
        pusch-RepTypeB                                          ENUMERATED {interRepetition, interSlot}
    }                                                                                                     OPTIONAL,   -- Need S
    frequencyHoppingOffsetListsDCI-0-2-r16  SetupRelease { FrequencyHoppingOffsetListsDCI-0-2-r16}        OPTIONAL,  -- Need M
    codebookSubsetDCI-0-2-r16               ENUMERATED {fullyAndPartialAndNonCoherent, partialAndNonCoherent,nonCoherent}
                                                                                                          OPTIONAL,   -- Cond codebookBased
    invalidSymbolPatternIndicatorDCI-0-2-r16                ENUMERATED {enabled}                          OPTIONAL,   -- Need S
    maxRankDCI-0-2-r16                                      INTEGER (1..4)                                OPTIONAL,   -- Cond codebookBased
    mcs-TableDCI-0-2-r16                                    ENUMERATED {qam256, qam64LowSE}               OPTIONAL,   -- Need S
    mcs-TableTransformPrecoderDCI-0-2-r16                   ENUMERATED {qam256, qam64LowSE}               OPTIONAL,   -- Need S
    priorityIndicatorDCI-0-2-r16                            ENUMERATED {enabled}                          OPTIONAL,   -- Need S
    pusch-RepTypeIndicatorDCI-0-2-r16                       ENUMERATED { pusch-RepTypeA, pusch-RepTypeB}  OPTIONAL,  -- Need R
    resourceAllocationDCI-0-2-r16                           ENUMERATED { resourceAllocationType0, resourceAllocationType1, dynamicSwitch}
                                                                                                          OPTIONAL,   -- Need M
    resourceAllocationType1GranularityDCI-0-2-r16           ENUMERATED { n2,n4,n8,n16 }                   OPTIONAL,   -- Need S
    uci-OnPUSCH-ListDCI-0-2-r16                             SetupRelease { UCI-OnPUSCH-ListDCI-0-2-r16}   OPTIONAL,   -- Need M
    pusch-TimeDomainAllocationListDCI-0-2-r16               SetupRelease { PUSCH-TimeDomainResourceAllocationList-r16 }
                                                                                                          OPTIONAL,   -- Need M
    -- End of the parameters for DCI format 0_2 introduced in V16.1.0
    -- Start of the parameters for DCI format 0_1 introduced in V16.1.0
    pusch-TimeDomainAllocationListDCI-0-1-r16               SetupRelease { PUSCH-TimeDomainResourceAllocationList-r16 }
                                                                                                          OPTIONAL,   -- Need M
    invalidSymbolPatternIndicatorDCI-0-1-r16          ENUMERATED {enabled}                                OPTIONAL,   -- Need S
    priorityIndicatorDCI-0-1-r16                      ENUMERATED {enabled}                                OPTIONAL,   -- Need S
    pusch-RepTypeIndicatorDCI-0-1-r16                 ENUMERATED { pusch-RepTypeA, pusch-RepTypeB}        OPTIONAL,   -- Need R
    frequencyHoppingDCI-0-1-r16                 ENUMERATED {interRepetition, interSlot}                   OPTIONAL,   -- Cond RepTypeB
    uci-OnPUSCH-ListDCI-0-1-r16                 SetupRelease { UCI-OnPUSCH-ListDCI-0-1-r16  }             OPTIONAL,  -- Need M
    -- End of the parameters for DCI format 0_1 introduced in V16.1.0
    invalidSymbolPattern-r16                    InvalidSymbolPattern-r16                                  OPTIONAL,   -- Need S
    pusch-PowerControl-v1610                SetupRelease {PUSCH-PowerControl-v1610}                       OPTIONAL,   -- Need M
    ul-FullPowerTransmission-r16            ENUMERATED {fullpower, fullpowerMode1, fullpowerMode2}        OPTIONAL,   -- Need R
    pusch-TimeDomainAllocationListForMultiPUSCH-r16  SetupRelease { PUSCH-TimeDomainResourceAllocationList-r16 }
                                                                                                          OPTIONAL,  --  Need M
    numberOfInvalidSymbolsForDL-UL-Switching-r16        INTEGER (1..4)                                    OPTIONAL    -- Cond RepTypeB2
    ]],
    [[
    ul-AccessConfigListDCI-0-2-r17          SetupRelease { UL-AccessConfigListDCI-0-2-r17 }               OPTIONAL,  -- Need M
    betaOffsetsCrossPri0-r17                SetupRelease { BetaOffsetsCrossPriSel-r17 }                   OPTIONAL,  -- Need M
    betaOffsetsCrossPri1-r17                SetupRelease { BetaOffsetsCrossPriSel-r17 }                   OPTIONAL,  -- Need M
    betaOffsetsCrossPri0DCI-0-2-r17         SetupRelease { BetaOffsetsCrossPriSelDCI-0-2-r17 }            OPTIONAL,  -- Need M
    betaOffsetsCrossPri1DCI-0-2-r17         SetupRelease { BetaOffsetsCrossPriSelDCI-0-2-r17 }            OPTIONAL,  -- Need M
    mappingPattern-r17                      ENUMERATED {cyclicMapping, sequentialMapping}                 OPTIONAL,  -- Cond SRSsets
    secondTPCFieldDCI-0-1-r17               ENUMERATED {enabled}                                          OPTIONAL,  -- Need R
    secondTPCFieldDCI-0-2-r17               ENUMERATED {enabled}                                          OPTIONAL,  -- Need R
    sequenceOffsetForRV-r17                 INTEGER (0..3)                                                OPTIONAL,  -- Need R
    ul-AccessConfigListDCI-0-1-r17          SetupRelease { UL-AccessConfigListDCI-0-1-r17 }                OPTIONAL,  -- Need M
    minimumSchedulingOffsetK2-r17           SetupRelease { MinSchedulingOffsetK2-Values-r17 }              OPTIONAL,  -- Need M
    availableSlotCounting-r17               ENUMERATED { enabled }                                         OPTIONAL,  -- Need S
    dmrs-BundlingPUSCH-Config-r17           SetupRelease { DMRS-BundlingPUSCH-Config-r17 }                 OPTIONAL,  -- Need M
    harq-ProcessNumberSizeDCI-0-2-v1700     INTEGER (5)                                                    OPTIONAL,  -- Need R
    harq-ProcessNumberSizeDCI-0-1-r17       INTEGER (5)                                                    OPTIONAL,  -- Need R
    mpe-ResourcePoolToAddModList-r17       SEQUENCE (SIZE(1..maxMPE-Resources-r17)) OF MPE-Resource-r17    OPTIONAL,  -- Need N
    mpe-ResourcePoolToReleaseList-r17      SEQUENCE (SIZE(1..maxMPE-Resources-r17)) OF MPE-ResourceId-r17  OPTIONAL   -- Need N
    ]]
}

UCI-OnPUSCH ::=                         SEQUENCE {
    betaOffsets                             CHOICE {
        dynamic                             SEQUENCE (SIZE (4)) OF BetaOffsets,
        semiStatic                          BetaOffsets
    }                                                                                                 OPTIONAL, -- Need M
    scaling                                 ENUMERATED { f0p5, f0p65, f0p8, f1 }
}

MinSchedulingOffsetK2-Values-r16 ::=    SEQUENCE (SIZE (1..maxNrOfMinSchedulingOffsetValues-r16)) OF INTEGER (0..maxK2-SchedulingOffset-r16)

MinSchedulingOffsetK2-Values-r17 ::=    SEQUENCE (SIZE (1..maxNrOfMinSchedulingOffsetValues-r16)) OF INTEGER (0..maxK2-SchedulingOffset-r17)

UCI-OnPUSCH-DCI-0-2-r16 ::=             SEQUENCE {
    betaOffsetsDCI-0-2-r16                  CHOICE {
        dynamicDCI-0-2-r16                      CHOICE {
            oneBit-r16                              SEQUENCE (SIZE (2)) OF BetaOffsets,
            twoBits-r16                             SEQUENCE (SIZE (4)) OF BetaOffsets
        },
        semiStaticDCI-0-2-r16          BetaOffsets
    }                                                                                                 OPTIONAL,   -- Need M
    scalingDCI-0-2-r16                 ENUMERATED { f0p5, f0p65, f0p8, f1 }
}

FrequencyHoppingOffsetListsDCI-0-2-r16 ::=  SEQUENCE (SIZE (1..4)) OF INTEGER (1..maxNrofPhysicalResourceBlocks-1)

UCI-OnPUSCH-ListDCI-0-2-r16 ::=  SEQUENCE (SIZE (1..2)) OF UCI-OnPUSCH-DCI-0-2-r16

UCI-OnPUSCH-ListDCI-0-1-r16 ::=  SEQUENCE (SIZE (1..2)) OF UCI-OnPUSCH

UL-AccessConfigListDCI-0-1-r16 ::= SEQUENCE (SIZE (1..64)) OF INTEGER (0..63)

UL-AccessConfigListDCI-0-1-r17 ::= SEQUENCE (SIZE (1..3)) OF INTEGER (0..2)

UL-AccessConfigListDCI-0-2-r17 ::= SEQUENCE (SIZE (1..64)) OF INTEGER (0..63)

BetaOffsetsCrossPriSel-r17 ::= CHOICE {
    dynamic-r17         SEQUENCE (SIZE (4)) OF BetaOffsetsCrossPri-r17,
    semiStatic-r17          BetaOffsetsCrossPri-r17
}

BetaOffsetsCrossPriSelDCI-0-2-r17 ::= CHOICE {
    dynamicDCI-0-2-r17      CHOICE {
        oneBit-r17              SEQUENCE (SIZE (2)) OF BetaOffsetsCrossPri-r17,
        twoBits-r17             SEQUENCE (SIZE (4)) OF BetaOffsetsCrossPri-r17
    },
    semiStaticDCI-0-2-r17   BetaOffsetsCrossPri-r17
}

MPE-Resource-r17 ::=        SEQUENCE {
    mpe-ResourceId-r17          MPE-ResourceId-r17,
    cell-r17                    ServCellIndex                                                         OPTIONAL,    -- Need R
    additionalPCI-r17           AdditionalPCIIndex-r17                                                OPTIONAL,    -- Need R
    mpe-ReferenceSignal-r17     CHOICE {
        csi-RS-Resource-r17         NZP-CSI-RS-ResourceId,
        ssb-Resource-r17            SSB-Index
    }
}

MPE-ResourceId-r17 ::=      INTEGER (1..maxMPE-Resources-r17)

-- TAG-PUSCH-CONFIG-STOP
-- ASN1STOP

-- ASN1START

-- TAG-PUSCH-CONFIGCOMMON-START

PUSCH-ConfigCommon ::=                  SEQUENCE {
    groupHoppingEnabledTransformPrecoding   ENUMERATED {enabled}                                                OPTIONAL,   -- Need R
    pusch-TimeDomainAllocationList          PUSCH-TimeDomainResourceAllocationList                              OPTIONAL,   -- Need R
    msg3-DeltaPreamble                      INTEGER (-1..6)                                                     OPTIONAL,   -- Need R
    p0-NominalWithGrant                     INTEGER (-202..24)                                                  OPTIONAL,   -- Need R
    ...
}

-- TAG-PUSCH-CONFIGCOMMON-STOP
-- ASN1STOP

-- ASN1START

-- TAG-PUSCH-POWERCONTROL-START

PUSCH-PowerControl ::=              SEQUENCE {
    tpc-Accumulation                    ENUMERATED { disabled }                                                 OPTIONAL, -- Need S
    msg3-Alpha                          Alpha                                                                   OPTIONAL, -- Need S
    p0-NominalWithoutGrant              INTEGER (-202..24)                                                      OPTIONAL, -- Need M
    p0-AlphaSets                        SEQUENCE (SIZE (1..maxNrofP0-PUSCH-AlphaSets)) OF P0-PUSCH-AlphaSet     OPTIONAL, -- Need M
    pathlossReferenceRSToAddModList     SEQUENCE (SIZE (1..maxNrofPUSCH-PathlossReferenceRSs)) OF PUSCH-PathlossReferenceRS
                                                                                                                OPTIONAL, -- Need N
    pathlossReferenceRSToReleaseList    SEQUENCE (SIZE (1..maxNrofPUSCH-PathlossReferenceRSs)) OF PUSCH-PathlossReferenceRS-Id
                                                                                                                OPTIONAL,  -- Need N
    twoPUSCH-PC-AdjustmentStates        ENUMERATED {twoStates}                                                  OPTIONAL, -- Need S
    deltaMCS                            ENUMERATED {enabled}                                                    OPTIONAL, -- Need S
    sri-PUSCH-MappingToAddModList       SEQUENCE (SIZE (1..maxNrofSRI-PUSCH-Mappings)) OF SRI-PUSCH-PowerControl
                                                                                                                OPTIONAL, -- Need N
    sri-PUSCH-MappingToReleaseList      SEQUENCE (SIZE (1..maxNrofSRI-PUSCH-Mappings)) OF SRI-PUSCH-PowerControlId
                                                                                                                OPTIONAL  -- Need N
}

P0-PUSCH-AlphaSet ::=               SEQUENCE {
    p0-PUSCH-AlphaSetId                 P0-PUSCH-AlphaSetId,
    p0                                  INTEGER (-16..15)                                                       OPTIONAL, -- Need S
    alpha                               Alpha                                                                   OPTIONAL  -- Need S
}

P0-PUSCH-AlphaSetId ::=             INTEGER (0..maxNrofP0-PUSCH-AlphaSets-1)

PUSCH-PathlossReferenceRS ::=       SEQUENCE {
    pusch-PathlossReferenceRS-Id        PUSCH-PathlossReferenceRS-Id,
    referenceSignal                     CHOICE {
        ssb-Index                           SSB-Index,
        csi-RS-Index                        NZP-CSI-RS-ResourceId
    }
}

PUSCH-PathlossReferenceRS-r16 ::=   SEQUENCE {
    pusch-PathlossReferenceRS-Id-r16    PUSCH-PathlossReferenceRS-Id-v1610,
    referenceSignal-r16                 CHOICE {
        ssb-Index-r16                       SSB-Index,
        csi-RS-Index-r16                    NZP-CSI-RS-ResourceId
    }
}

DummyPathlossReferenceRS-v1710 ::= SEQUENCE {
    pusch-PathlossReferenceRS-Id-r17    PUSCH-PathlossReferenceRS-Id-r17,
    additionalPCI-r17                   AdditionalPCIIndex-r17                                         OPTIONAL  -- Need R
}

PUSCH-PathlossReferenceRS-Id ::=    INTEGER (0..maxNrofPUSCH-PathlossReferenceRSs-1)

PUSCH-PathlossReferenceRS-Id-v1610 ::= INTEGER (maxNrofPUSCH-PathlossReferenceRSs..maxNrofPUSCH-PathlossReferenceRSs-1-r16)

PUSCH-PathlossReferenceRS-Id-r17 ::= INTEGER (0..maxNrofPUSCH-PathlossReferenceRSs-1-r16)

SRI-PUSCH-PowerControl ::=          SEQUENCE {
    sri-PUSCH-PowerControlId            SRI-PUSCH-PowerControlId,
    sri-PUSCH-PathlossReferenceRS-Id    PUSCH-PathlossReferenceRS-Id,
    sri-P0-PUSCH-AlphaSetId             P0-PUSCH-AlphaSetId,
    sri-PUSCH-ClosedLoopIndex           ENUMERATED { i0, i1 }
}

SRI-PUSCH-PowerControlId ::=        INTEGER (0..maxNrofSRI-PUSCH-Mappings-1)

PUSCH-PowerControl-v1610 ::=        SEQUENCE {
    pathlossReferenceRSToAddModListSizeExt-v1610   SEQUENCE (SIZE (1..maxNrofPUSCH-PathlossReferenceRSsDiff-r16)) OF PUSCH-PathlossReferenceRS-r16
                                                                                                                OPTIONAL, -- Need N
    pathlossReferenceRSToReleaseListSizeExt-v1610  SEQUENCE (SIZE (1..maxNrofPUSCH-PathlossReferenceRSsDiff-r16)) OF PUSCH-PathlossReferenceRS-Id-v1610
                                                                                                                OPTIONAL, -- Need N
    p0-PUSCH-SetList-r16                SEQUENCE (SIZE (1..maxNrofSRI-PUSCH-Mappings)) OF P0-PUSCH-Set-r16      OPTIONAL, -- Need R
    olpc-ParameterSet                   SEQUENCE {
        olpc-ParameterSetDCI-0-1-r16        INTEGER (1..2)                                                      OPTIONAL, -- Need R
        olpc-ParameterSetDCI-0-2-r16        INTEGER (1..2)                                                      OPTIONAL  -- Need R
    }                                                                                                           OPTIONAL, -- Need M
    ...,
    [[
    sri-PUSCH-MappingToAddModList2-r17  SEQUENCE (SIZE (1..maxNrofSRI-PUSCH-Mappings)) OF SRI-PUSCH-PowerControl
                                                                                                                OPTIONAL, -- Need N
    sri-PUSCH-MappingToReleaseList2-r17 SEQUENCE (SIZE (1..maxNrofSRI-PUSCH-Mappings)) OF SRI-PUSCH-PowerControlId OPTIONAL, -- Need N
    p0-PUSCH-SetList2-r17               SEQUENCE (SIZE (1..maxNrofSRI-PUSCH-Mappings)) OF P0-PUSCH-Set-r16      OPTIONAL, -- Need R
    dummy SEQUENCE (SIZE (1..maxNrofPUSCH-PathlossReferenceRSs-r16)) OF DummyPathlossReferenceRS-v1710          OPTIONAL  -- Need N
    ]]
}

P0-PUSCH-Set-r16 ::=                SEQUENCE {
    p0-PUSCH-SetId-r16                  P0-PUSCH-SetId-r16,
    p0-List-r16                         SEQUENCE (SIZE (1..maxNrofP0-PUSCH-Set-r16)) OF P0-PUSCH-r16            OPTIONAL, -- Need R
    ...
}

P0-PUSCH-SetId-r16 ::=              INTEGER (0..maxNrofSRI-PUSCH-Mappings-1)

P0-PUSCH-r16 ::=                    INTEGER (-16..15)

-- TAG-PUSCH-POWERCONTROL-STOP
-- ASN1STOP

-- ASN1START

-- TAG-PUSCH-SERVINGCELLCONFIG-START

PUSCH-ServingCellConfig ::=             SEQUENCE {
    codeBlockGroupTransmission              SetupRelease { PUSCH-CodeBlockGroupTransmission }       OPTIONAL,   -- Need M
    rateMatching                            ENUMERATED {limitedBufferRM}                            OPTIONAL,   -- Need S
    xOverhead                               ENUMERATED {xoh6, xoh12, xoh18}                         OPTIONAL,   -- Need S
    ...,
    [[
    maxMIMO-Layers                          INTEGER (1..4)                                          OPTIONAL,   -- Need M
    processingType2Enabled                  BOOLEAN                                                 OPTIONAL    -- Need M
    ]],
    [[
    maxMIMO-LayersDCI-0-2-r16               SetupRelease { MaxMIMO-LayersDCI-0-2-r16}               OPTIONAL    -- Need M
    ]],
    [[
    nrofHARQ-ProcessesForPUSCH-r17          ENUMERATED {n32}                                   OPTIONAL,   -- Need R
    uplinkHARQ-mode-r17                     SetupRelease { UplinkHARQ-mode-r17}                     OPTIONAL    -- Need M
    ]]
}

PUSCH-CodeBlockGroupTransmission ::=    SEQUENCE {
    maxCodeBlockGroupsPerTransportBlock     ENUMERATED {n2, n4, n6, n8},
    ...
}

MaxMIMO-LayersDCI-0-2-r16 ::=           INTEGER (1..4)

UplinkHARQ-mode-r17 ::=                 BIT STRING (SIZE (32))

-- TAG-PUSCH-SERVINGCELLCONFIG-STOP
-- ASN1STOP

-- ASN1START

-- TAG-PUSCH-TIMEDOMAINRESOURCEALLOCATIONLIST-START

PUSCH-TimeDomainResourceAllocationList ::=  SEQUENCE (SIZE(1..maxNrofUL-Allocations)) OF PUSCH-TimeDomainResourceAllocation

PUSCH-TimeDomainResourceAllocation ::=  SEQUENCE {
    k2                                      INTEGER(0..32)                                  OPTIONAL,   -- Need S
    mappingType                             ENUMERATED {typeA, typeB},
    startSymbolAndLength                    INTEGER (0..127)
}

PUSCH-TimeDomainResourceAllocationList-r16 ::=  SEQUENCE (SIZE(1..maxNrofUL-Allocations-r16)) OF PUSCH-TimeDomainResourceAllocation-r16

PUSCH-TimeDomainResourceAllocation-r16 ::=  SEQUENCE {
    k2-r16                                     INTEGER(0..32)          OPTIONAL,   -- Need S
    puschAllocationList-r16                    SEQUENCE (SIZE(1..maxNrofMultiplePUSCHs-r16)) OF PUSCH-Allocation-r16,
...
}

PUSCH-Allocation-r16 ::=  SEQUENCE {
    mappingType-r16                           ENUMERATED {typeA, typeB}                     OPTIONAL,   -- Cond NotFormat01-02-Or-TypeA
    startSymbolAndLength-r16                  INTEGER (0..127)                              OPTIONAL,   -- Cond NotFormat01-02-Or-TypeA
    startSymbol-r16                           INTEGER (0..13)                               OPTIONAL,   -- Cond RepTypeB
    length-r16                                INTEGER (1..14)                               OPTIONAL,   -- Cond RepTypeB
    numberOfRepetitions-r16                   ENUMERATED {n1, n2, n3, n4, n7, n8, n12, n16} OPTIONAL,   -- Cond Format01-02
    ...,
    [[
    numberOfRepetitionsExt-r17                ENUMERATED {n1, n2, n3, n4, n7, n8, n12, n16, n20, n24, n28, n32, spare4, spare3, spare2,
                                                          spare1}                           OPTIONAL,   -- Cond Format01-02-For-TypeA
    numberOfSlotsTBoMS-r17                   ENUMERATED {n1, n2, n4, n8, spare4, spare3, spare2, spare1}   OPTIONAL,   -- Need R
    extendedK2-r17                            INTEGER (0..128)                              OPTIONAL    -- Cond MultiPUSCH
    ]]
}

-- TAG-PUSCH-TIMEDOMAINRESOURCEALLOCATIONLIST-STOP
-- ASN1STOP

-- ASN1START

-- TAG-PUSCH-TPC-COMMANDCONFIG-START

PUSCH-TPC-CommandConfig ::=         SEQUENCE {
    tpc-Index                           INTEGER (1..15)                                                 OPTIONAL,   -- Cond SUL
    tpc-IndexSUL                        INTEGER (1..15)                                                 OPTIONAL,   -- Cond SUL-Only
    targetCell                          ServCellIndex                                                   OPTIONAL,   -- Need S
    ...
}

-- TAG-PUSCH-TPC-COMMANDCONFIG-STOP
-- ASN1STOP

-- ASN1START

-- TAG-Q-OFFSETRANGE-START

Q-OffsetRange ::=                   ENUMERATED {
                                                dB-24, dB-22, dB-20, dB-18, dB-16, dB-14,
                                                dB-12, dB-10, dB-8, dB-6, dB-5, dB-4, dB-3,
                                                dB-2, dB-1, dB0, dB1, dB2, dB3, dB4, dB5,
                                                dB6, dB8, dB10, dB12, dB14, dB16, dB18,
                                                dB20, dB22, dB24}

-- TAG-Q-OFFSETRANGE-STOP
-- ASN1STOP

-- ASN1START

-- TAG-Q-QUALMIN-START

Q-QualMin ::=                       INTEGER (-43..-12)

-- TAG-Q-QUALMIN-STOP
-- ASN1STOP

-- ASN1START

-- TAG-Q-RXLEVMIN-START

Q-RxLevMin ::=                      INTEGER (-70..-22)

-- TAG-Q-RXLEVMIN-STOP
-- ASN1STOP

-- ASN1START

-- TAG-QUANTITYCONFIG-START


QuantityConfig ::=                  SEQUENCE {
    quantityConfigNR-List               SEQUENCE (SIZE (1..maxNrofQuantityConfig)) OF QuantityConfigNR          OPTIONAL,   -- Need M
    ...,
    [[
    quantityConfigEUTRA                 FilterConfig                                                            OPTIONAL    -- Need M
    ]],
    [[
    quantityConfigUTRA-FDD-r16          QuantityConfigUTRA-FDD-r16                                              OPTIONAL,   -- Need M
    quantityConfigCLI-r16               FilterConfigCLI-r16                                                     OPTIONAL    -- Need M
    ]]
}

QuantityConfigNR ::=                 SEQUENCE {
    quantityConfigCell                  QuantityConfigRS,
    quantityConfigRS-Index              QuantityConfigRS                                                        OPTIONAL    -- Need M
}

QuantityConfigRS ::=                SEQUENCE {
    ssb-FilterConfig                    FilterConfig,
    csi-RS-FilterConfig                 FilterConfig
}

FilterConfig ::=                    SEQUENCE {
    filterCoefficientRSRP               FilterCoefficient                                       DEFAULT fc4,
    filterCoefficientRSRQ               FilterCoefficient                                       DEFAULT fc4,
    filterCoefficientRS-SINR            FilterCoefficient                                       DEFAULT fc4
}

FilterConfigCLI-r16 ::=             SEQUENCE {
    filterCoefficientSRS-RSRP-r16       FilterCoefficient                                       DEFAULT fc4,
    filterCoefficientCLI-RSSI-r16       FilterCoefficient                                       DEFAULT fc4
}

QuantityConfigUTRA-FDD-r16 ::=      SEQUENCE {
    filterCoefficientRSCP-r16           FilterCoefficient                                       DEFAULT fc4,
    filterCoefficientEcNO-r16           FilterCoefficient                                       DEFAULT fc4
}

-- TAG-QUANTITYCONFIG-STOP
-- ASN1STOP

-- ASN1START

-- TAG-RACH-CONFIGCOMMON-START

RACH-ConfigCommon ::=               SEQUENCE {
    rach-ConfigGeneric                  RACH-ConfigGeneric,
    totalNumberOfRA-Preambles           INTEGER (1..63)                                                     OPTIONAL,   -- Need S
    ssb-perRACH-OccasionAndCB-PreamblesPerSSB   CHOICE {
        oneEighth                                   ENUMERATED {n4,n8,n12,n16,n20,n24,n28,n32,n36,n40,n44,n48,n52,n56,n60,n64},
        oneFourth                                   ENUMERATED {n4,n8,n12,n16,n20,n24,n28,n32,n36,n40,n44,n48,n52,n56,n60,n64},
        oneHalf                                     ENUMERATED {n4,n8,n12,n16,n20,n24,n28,n32,n36,n40,n44,n48,n52,n56,n60,n64},
        one                                         ENUMERATED {n4,n8,n12,n16,n20,n24,n28,n32,n36,n40,n44,n48,n52,n56,n60,n64},
        two                                         ENUMERATED {n4,n8,n12,n16,n20,n24,n28,n32},
        four                                        INTEGER (1..16),
        eight                                       INTEGER (1..8),
        sixteen                                     INTEGER (1..4)
    }                                                                                                       OPTIONAL,   -- Need M

    groupBconfigured                    SEQUENCE {
        ra-Msg3SizeGroupA                   ENUMERATED {b56, b144, b208, b256, b282, b480, b640,
                                                        b800, b1000, b72, spare6, spare5,spare4, spare3, spare2, spare1},
        messagePowerOffsetGroupB            ENUMERATED { minusinfinity, dB0, dB5, dB8, dB10, dB12, dB15, dB18},
        numberOfRA-PreamblesGroupA          INTEGER (1..64)
    }                                                                                                       OPTIONAL,   -- Need R
    ra-ContentionResolutionTimer            ENUMERATED { sf8, sf16, sf24, sf32, sf40, sf48, sf56, sf64},
    rsrp-ThresholdSSB                       RSRP-Range                                                      OPTIONAL,   -- Need R
    rsrp-ThresholdSSB-SUL                   RSRP-Range                                                      OPTIONAL,   -- Cond SUL
    prach-RootSequenceIndex                 CHOICE {
        l839                                    INTEGER (0..837),
        l139                                    INTEGER (0..137)
    },
    msg1-SubcarrierSpacing                  SubcarrierSpacing                                               OPTIONAL,   -- Cond L139
    restrictedSetConfig                     ENUMERATED {unrestrictedSet, restrictedSetTypeA, restrictedSetTypeB},
    msg3-transformPrecoder                  ENUMERATED {enabled}                                            OPTIONAL,   -- Need R
    ...,
    [[
    ra-PrioritizationForAccessIdentity-r16  SEQUENCE {
        ra-Prioritization-r16                   RA-Prioritization,
        ra-PrioritizationForAI-r16              BIT STRING (SIZE (2))
    }                                                                                                       OPTIONAL,   -- Cond InitialBWP-Only
    prach-RootSequenceIndex-r16             CHOICE {
        l571                                    INTEGER (0..569),
        l1151                                   INTEGER (0..1149)
    }   OPTIONAL   -- Need R
    ]],
    [[
    ra-PrioritizationForSlicing-r17         RA-PrioritizationForSlicing-r17                          OPTIONAL,   -- Cond InitialBWP-Only
    featureCombinationPreamblesList-r17     SEQUENCE (SIZE(1..maxFeatureCombPreamblesPerRACHResource-r17)) OF FeatureCombinationPreambles-r17 OPTIONAL -- Cond AdditionalRACH
    ]]
}

-- TAG-RACH-CONFIGCOMMON-STOP
-- ASN1STOP

-- ASN1START

-- TAG-RACH-CONFIGCOMMONTWOSTEPRA-START

RACH-ConfigCommonTwoStepRA-r16 ::=                   SEQUENCE {
    rach-ConfigGenericTwoStepRA-r16                      RACH-ConfigGenericTwoStepRA-r16,
    msgA-TotalNumberOfRA-Preambles-r16                   INTEGER (1..63)                                    OPTIONAL, -- Need S
    msgA-SSB-PerRACH-OccasionAndCB-PreamblesPerSSB-r16   CHOICE {
        oneEighth                                            ENUMERATED {n4,n8,n12,n16,n20,n24,n28,n32,n36,n40,n44,n48,n52,n56,n60,n64},
        oneFourth                                            ENUMERATED {n4,n8,n12,n16,n20,n24,n28,n32,n36,n40,n44,n48,n52,n56,n60,n64},
        oneHalf                                              ENUMERATED {n4,n8,n12,n16,n20,n24,n28,n32,n36,n40,n44,n48,n52,n56,n60,n64},
        one                                                  ENUMERATED {n4,n8,n12,n16,n20,n24,n28,n32,n36,n40,n44,n48,n52,n56,n60,n64},
        two                                                  ENUMERATED {n4,n8,n12,n16,n20,n24,n28,n32},
        four                                                 INTEGER (1..16),
        eight                                                INTEGER (1..8),
        sixteen                                              INTEGER (1..4)
    }                                                                                                                   OPTIONAL, -- Cond 2StepOnly
    msgA-CB-PreamblesPerSSB-PerSharedRO-r16              INTEGER (1..60)                                                OPTIONAL, -- Cond SharedRO
    msgA-SSB-SharedRO-MaskIndex-r16                      INTEGER (1..15)                                                OPTIONAL, -- Need S
    groupB-ConfiguredTwoStepRA-r16                       GroupB-ConfiguredTwoStepRA-r16                                 OPTIONAL, -- Need S
    msgA-PRACH-RootSequenceIndex-r16                     CHOICE {
        l839                                                 INTEGER (0..837),
        l139                                                 INTEGER (0..137),
        l571                                                 INTEGER (0..569),
        l1151                                                INTEGER (0..1149)
    }                                                                                                                   OPTIONAL, -- Cond 2StepOnly
    msgA-TransMax-r16                                    ENUMERATED {n1, n2, n4, n6, n8, n10, n20, n50, n100, n200}     OPTIONAL, -- Need R
    msgA-RSRP-Threshold-r16                              RSRP-Range                                                     OPTIONAL, -- Cond 2Step4Step
    msgA-RSRP-ThresholdSSB-r16                           RSRP-Range                                                     OPTIONAL, -- Need R
    msgA-SubcarrierSpacing-r16                           SubcarrierSpacing                                              OPTIONAL, -- Cond 2StepOnlyL139
    msgA-RestrictedSetConfig-r16                         ENUMERATED {unrestrictedSet, restrictedSetTypeA,
                                                                     restrictedSetTypeB}                                OPTIONAL, -- Cond 2StepOnly
    ra-PrioritizationForAccessIdentityTwoStep-r16        SEQUENCE {
        ra-Prioritization-r16                                RA-Prioritization,
        ra-PrioritizationForAI-r16                           BIT STRING (SIZE (2))
    }                                                                                                                   OPTIONAL, -- Cond InitialBWP-Only
    ra-ContentionResolutionTimer-r16                     ENUMERATED {sf8, sf16, sf24, sf32, sf40, sf48, sf56, sf64}     OPTIONAL, -- Cond 2StepOnly
    ...,
    [[
    ra-PrioritizationForSlicingTwoStep-r17               RA-PrioritizationForSlicing-r17              OPTIONAL, -- Cond InitialBWP-Only
    featureCombinationPreamblesList-r17 SEQUENCE (SIZE(1..maxFeatureCombPreamblesPerRACHResource-r17)) OF FeatureCombinationPreambles-r17 OPTIONAL  -- Cond AdditionalRACH
    ]]
}

GroupB-ConfiguredTwoStepRA-r16 ::=                       SEQUENCE {
    ra-MsgA-SizeGroupA                                   ENUMERATED {b56, b144, b208, b256, b282, b480, b640, b800,
                                                                     b1000, b72, spare6, spare5, spare4, spare3, spare2, spare1},
    messagePowerOffsetGroupB                             ENUMERATED {minusinfinity, dB0, dB5, dB8, dB10, dB12, dB15, dB18},
    numberOfRA-PreamblesGroupA                           INTEGER (1..64)
}

-- TAG-RACH-CONFIGCOMMONTWOSTEPRA-STOP
-- ASN1STOP

-- ASN1START

-- TAG-RACH-CONFIGDEDICATED-START


RACH-ConfigDedicated ::=        SEQUENCE {
    cfra                            CFRA                                                                    OPTIONAL, -- Need S
    ra-Prioritization               RA-Prioritization                                                       OPTIONAL, -- Need N
    ...,
    [[
    ra-PrioritizationTwoStep-r16    RA-Prioritization                                                       OPTIONAL, -- Need N
    cfra-TwoStep-r16                CFRA-TwoStep-r16                                                        OPTIONAL  -- Need S
    ]]
}

CFRA ::=                    SEQUENCE {
    occasions                       SEQUENCE {
        rach-ConfigGeneric              RACH-ConfigGeneric,
        ssb-perRACH-Occasion            ENUMERATED {oneEighth, oneFourth, oneHalf, one, two, four, eight, sixteen}
                                                                                                            OPTIONAL  -- Cond Mandatory
    }                                                                                                       OPTIONAL, -- Need S
    resources                       CHOICE {
        ssb                             SEQUENCE {
            ssb-ResourceList                SEQUENCE (SIZE(1..maxRA-SSB-Resources)) OF CFRA-SSB-Resource,
            ra-ssb-OccasionMaskIndex        INTEGER (0..15)
        },
        csirs                           SEQUENCE {
            csirs-ResourceList              SEQUENCE (SIZE(1..maxRA-CSIRS-Resources)) OF CFRA-CSIRS-Resource,
            rsrp-ThresholdCSI-RS            RSRP-Range
        }
    },
    ...,
    [[
    totalNumberOfRA-Preambles INTEGER (1..63)                                                             OPTIONAL -- Cond Occasions
    ]]
}

CFRA-TwoStep-r16 ::=                    SEQUENCE {
    occasionsTwoStepRA-r16                  SEQUENCE {
        rach-ConfigGenericTwoStepRA-r16         RACH-ConfigGenericTwoStepRA-r16,
        ssb-PerRACH-OccasionTwoStepRA-r16       ENUMERATED {oneEighth, oneFourth, oneHalf, one,
                                                            two, four, eight, sixteen}
    }                                                                                                     OPTIONAL, -- Need S
    msgA-CFRA-PUSCH-r16                     MsgA-PUSCH-Resource-r16,
    msgA-TransMax-r16                       ENUMERATED {n1, n2, n4, n6, n8, n10, n20, n50, n100, n200}    OPTIONAL, -- Need S
    resourcesTwoStep-r16                    SEQUENCE {
        ssb-ResourceList                        SEQUENCE (SIZE(1..maxRA-SSB-Resources)) OF CFRA-SSB-Resource,
        ra-ssb-OccasionMaskIndex                INTEGER (0..15)
    },
    ...
}

CFRA-SSB-Resource ::=           SEQUENCE {
    ssb                             SSB-Index,
    ra-PreambleIndex                INTEGER (0..63),
    ...,
    [[
    msgA-PUSCH-Resource-Index-r16   INTEGER (0..3071)     OPTIONAL  -- Cond 2StepCFRA
    ]]

}

CFRA-CSIRS-Resource ::=         SEQUENCE {
    csi-RS                          CSI-RS-Index,
    ra-OccasionList                 SEQUENCE (SIZE(1..maxRA-OccasionsPerCSIRS)) OF INTEGER (0..maxRA-Occasions-1),
    ra-PreambleIndex                INTEGER (0..63),
    ...
}

-- TAG-RACH-CONFIGDEDICATED-STOP
-- ASN1STOP

-- ASN1START

-- TAG-RACH-CONFIGGENERIC-START

RACH-ConfigGeneric ::=              SEQUENCE {
    prach-ConfigurationIndex            INTEGER (0..255),
    msg1-FDM                            ENUMERATED {one, two, four, eight},
    msg1-FrequencyStart                 INTEGER (0..maxNrofPhysicalResourceBlocks-1),
    zeroCorrelationZoneConfig           INTEGER(0..15),
    preambleReceivedTargetPower         INTEGER (-202..-60),
    preambleTransMax                    ENUMERATED {n3, n4, n5, n6, n7, n8, n10, n20, n50, n100, n200},
    powerRampingStep                    ENUMERATED {dB0, dB2, dB4, dB6},
    ra-ResponseWindow                   ENUMERATED {sl1, sl2, sl4, sl8, sl10, sl20, sl40, sl80},
    ...,
    [[
    prach-ConfigurationPeriodScaling-IAB-r16    ENUMERATED {scf1,scf2,scf4,scf8,scf16,scf32,scf64}              OPTIONAL,   -- Need R
    prach-ConfigurationFrameOffset-IAB-r16      INTEGER (0..63)                                                 OPTIONAL,   -- Need R
    prach-ConfigurationSOffset-IAB-r16          INTEGER (0..39)                                                 OPTIONAL,   -- Need R
    ra-ResponseWindow-v1610                     ENUMERATED { sl60, sl160}                                       OPTIONAL,   -- Need R
    prach-ConfigurationIndex-v1610              INTEGER (256..262)                                              OPTIONAL    -- Need R
    ]],
    [[
    ra-ResponseWindow-v1700                     ENUMERATED {sl240, sl320, sl640, sl960, sl1280, sl1920, sl2560} OPTIONAL    -- Need R
    ]]
}

-- TAG-RACH-CONFIGGENERIC-STOP
-- ASN1STOP

-- ASN1START

-- TAG-RACH-CONFIGGENERICTWOSTEPRA-START

RACH-ConfigGenericTwoStepRA-r16 ::=     SEQUENCE {
    msgA-PRACH-ConfigurationIndex-r16       INTEGER (0..262)                                                OPTIONAL, -- Cond 2StepOnly
    msgA-RO-FDM-r16                         ENUMERATED {one, two, four, eight}                              OPTIONAL, -- Cond 2StepOnly
    msgA-RO-FrequencyStart-r16              INTEGER (0..maxNrofPhysicalResourceBlocks-1)                    OPTIONAL, -- Cond 2StepOnly
    msgA-ZeroCorrelationZoneConfig-r16      INTEGER (0..15)                                                 OPTIONAL, -- Cond 2StepOnly
    msgA-PreamblePowerRampingStep-r16       ENUMERATED {dB0, dB2, dB4, dB6}                                 OPTIONAL, -- Cond 2StepOnlyNoCFRA
    msgA-PreambleReceivedTargetPower-r16    INTEGER (-202..-60)                                             OPTIONAL, -- Cond 2StepOnlyNoCFRA
    msgB-ResponseWindow-r16                 ENUMERATED {sl1, sl2, sl4, sl8, sl10, sl20, sl40, sl80, sl160, sl320}
                                                                                                            OPTIONAL, -- Cond NoCFRA
    preambleTransMax-r16                    ENUMERATED {n3, n4, n5, n6, n7, n8, n10, n20, n50, n100, n200}  OPTIONAL, -- Cond 2StepOnlyNoCFRA
    ...,
    [[
    msgB-ResponseWindow-v1700               ENUMERATED {sl240, sl640, sl960, sl1280, sl1920, sl2560}        OPTIONAL  -- Cond NoCFRA2
    ]]
}

-- TAG-RACH-CONFIGGENERICTWOSTEPRA-STOP
-- ASN1STOP

-- ASN1START

-- TAG-RA-PRIORITIZATION-START

RA-Prioritization ::=           SEQUENCE {
    powerRampingStepHighPriority    ENUMERATED {dB0, dB2, dB4, dB6},
    scalingFactorBI                 ENUMERATED {zero, dot25, dot5, dot75}                               OPTIONAL,   -- Need R
    ...
}

-- TAG-RA-PRIORITIZATION-STOP
-- ASN1STOP

-- ASN1START

-- TAG-RA-PRIORITIZATIONFORSLICING-START

RA-PrioritizationForSlicing-r17 ::=    SEQUENCE {
    ra-PrioritizationSliceInfoList-r17     RA-PrioritizationSliceInfoList-r17,
    ...
}

RA-PrioritizationSliceInfoList-r17 ::= SEQUENCE (SIZE (1..maxSliceInfo-r17)) OF RA-PrioritizationSliceInfo-r17

RA-PrioritizationSliceInfo-r17 ::=     SEQUENCE {
    nsag-ID-List-r17                       SEQUENCE (SIZE (1..maxSliceInfo-r17)) OF NSAG-ID-r17,
    ra-Prioritization-r17                  RA-Prioritization,
    ...
}

-- TAG-RA-PRIORITIZATIONFORSLICING-STOP
-- ASN1STOP

-- ASN1START

-- TAG-RADIOBEARERCONFIG-START

RadioBearerConfig ::=                   SEQUENCE {
    srb-ToAddModList                        SRB-ToAddModList                                        OPTIONAL,   -- Cond HO-Conn
    srb3-ToRelease                          ENUMERATED{true}                                        OPTIONAL,   -- Need N
    drb-ToAddModList                        DRB-ToAddModList                                        OPTIONAL,   -- Cond HO-toNR
    drb-ToReleaseList                       DRB-ToReleaseList                                       OPTIONAL,   -- Need N
    securityConfig                          SecurityConfig                                          OPTIONAL,   -- Need M
    ...,
    [[
    mrb-ToAddModList-r17                    MRB-ToAddModList-r17                                    OPTIONAL,   -- Need N
    mrb-ToReleaseList-r17                   MRB-ToReleaseList-r17                                   OPTIONAL,   -- Need N
    srb4-ToAddMod-r17                       SRB-ToAddMod                                            OPTIONAL,   -- Need N
    srb4-ToRelease-r17                      ENUMERATED{true}                                        OPTIONAL    -- Need N
    ]]

}

SRB-ToAddModList ::=                    SEQUENCE (SIZE (1..2)) OF SRB-ToAddMod

SRB-ToAddMod ::=                        SEQUENCE {
    srb-Identity                            SRB-Identity,
    reestablishPDCP                         ENUMERATED{true}                                        OPTIONAL,   -- Need N
    discardOnPDCP                           ENUMERATED{true}                                        OPTIONAL,   -- Need N
    pdcp-Config                             PDCP-Config                                             OPTIONAL,   -- Cond PDCP
    ...,
    [[
    srb-Identity-v1700                      SRB-Identity-v1700                                      OPTIONAL    -- Need M
    ]]
}

DRB-ToAddModList ::=                    SEQUENCE (SIZE (1..maxDRB)) OF DRB-ToAddMod

DRB-ToAddMod ::=                        SEQUENCE {
    cnAssociation                           CHOICE {
        eps-BearerIdentity                      INTEGER (0..15),
        sdap-Config                             SDAP-Config
    }                                                                                               OPTIONAL,   -- Cond DRBSetup
    drb-Identity                            DRB-Identity,
    reestablishPDCP                         ENUMERATED{true}                                        OPTIONAL,   -- Need N
    recoverPDCP                             ENUMERATED{true}                                        OPTIONAL,   -- Need N
    pdcp-Config                             PDCP-Config                                             OPTIONAL,   -- Cond PDCP
    ...,
    [[
    daps-Config-r16                         ENUMERATED{true}                                        OPTIONAL    -- Cond DAPS
    ]]
}
DRB-ToReleaseList ::=                   SEQUENCE (SIZE (1..maxDRB)) OF DRB-Identity

SecurityConfig ::=                      SEQUENCE {
    securityAlgorithmConfig                 SecurityAlgorithmConfig                                 OPTIONAL,   -- Cond RBTermChange1
    keyToUse                                ENUMERATED{master, secondary}                           OPTIONAL,   -- Cond RBTermChange
    ...
}

MRB-ToAddModList-r17 ::=                SEQUENCE (SIZE (1..maxMRB-r17)) OF MRB-ToAddMod-r17

MRB-ToAddMod-r17 ::=                    SEQUENCE {
    mbs-SessionId-r17                       TMGI-r17                                                OPTIONAL,   -- Cond MRBSetup
    mrb-Identity-r17                        MRB-Identity-r17,
    mrb-IdentityNew-r17                     MRB-Identity-r17                                        OPTIONAL,   -- Need N
    reestablishPDCP-r17                     ENUMERATED{true}                                        OPTIONAL,   -- Need N
    recoverPDCP-r17                         ENUMERATED{true}                                        OPTIONAL,   -- Need N
    pdcp-Config-r17                         PDCP-Config                                             OPTIONAL,   -- Cond PDCP
    ...
}

MRB-ToReleaseList-r17 ::=               SEQUENCE (SIZE (1..maxMRB-r17)) OF MRB-Identity-r17

-- TAG-RADIOBEARERCONFIG-STOP
-- ASN1STOP

-- ASN1START

-- TAG-RADIOLINKMONITORINGCONFIG-START

RadioLinkMonitoringConfig ::=       SEQUENCE {
    failureDetectionResourcesToAddModList   SEQUENCE (SIZE(1..maxNrofFailureDetectionResources)) OF RadioLinkMonitoringRS
                                                                                                                  OPTIONAL, -- Need N
    failureDetectionResourcesToReleaseList  SEQUENCE (SIZE(1..maxNrofFailureDetectionResources)) OF RadioLinkMonitoringRS-Id
                                                                                                                  OPTIONAL, -- Need N
    beamFailureInstanceMaxCount             ENUMERATED {n1, n2, n3, n4, n5, n6, n8, n10}                          OPTIONAL, -- Need R
    beamFailureDetectionTimer               ENUMERATED {pbfd1, pbfd2, pbfd3, pbfd4, pbfd5, pbfd6, pbfd8, pbfd10}  OPTIONAL, -- Need R
    ...,
    [[
    beamFailure-r17                         BeamFailureDetection-r17                                              OPTIONAL  -- Need R
    ]]
}

BeamFailureDetection-r17 ::=        SEQUENCE {
    failureDetectionSet1-r17            BeamFailureDetectionSet-r17                                               OPTIONAL, -- Need R
    failureDetectionSet2-r17            BeamFailureDetectionSet-r17                                               OPTIONAL, -- Need R
    additionalPCI-r17                   AdditionalPCIIndex-r17                                                    OPTIONAL  -- Need R
}

RadioLinkMonitoringRS ::=           SEQUENCE {
    radioLinkMonitoringRS-Id            RadioLinkMonitoringRS-Id,
    purpose                             ENUMERATED {beamFailure, rlf, both},
    detectionResource                   CHOICE {
        ssb-Index                           SSB-Index,
        csi-RS-Index                        NZP-CSI-RS-ResourceId
    },
    ...
}

BeamFailureDetectionSet-r17 ::=    SEQUENCE {
    bfdResourcesToAddModList-r17        SEQUENCE (SIZE(1..maxNrofBFDResourcePerSet-r17)) OF BeamLinkMonitoringRS-r17
                                                                                                                  OPTIONAL, -- Need N
    bfdResourcesToReleaseList-r17       SEQUENCE (SIZE(1..maxNrofBFDResourcePerSet-r17)) OF BeamLinkMonitoringRS-Id-r17
                                                                                                                  OPTIONAL, -- Need N
    beamFailureInstanceMaxCount-r17     ENUMERATED {n1, n2, n3, n4, n5, n6, n8, n10}                              OPTIONAL, -- Need R
    beamFailureDetectionTimer-r17       ENUMERATED {pbfd1, pbfd2, pbfd3, pbfd4, pbfd5, pbfd6, pbfd8, pbfd10}      OPTIONAL, -- Need R
    ...
}

BeamLinkMonitoringRS-r17 ::=        SEQUENCE {
    beamLinkMonitoringRS-Id-r17         BeamLinkMonitoringRS-Id-r17,
    detectionResource-r17               CHOICE {
        ssb-Index                       SSB-Index,
        csi-RS-Index                    NZP-CSI-RS-ResourceId
    },
    ...
}

BeamLinkMonitoringRS-Id-r17 ::=     INTEGER (0..maxNrofFailureDetectionResources-1-r17)

-- TAG-RADIOLINKMONITORINGCONFIG-STOP
-- ASN1STOP

-- ASN1START

-- TAG-RADIOLINKMONITORINGRS-ID-START

RadioLinkMonitoringRS-Id ::=            INTEGER (0..maxNrofFailureDetectionResources-1)

-- TAG-RADIOLINKMONITORINGRS-ID-STOP
-- ASN1STOP

-- ASN1START

-- TAG-RAN-AREACODE-START

RAN-AreaCode ::=                INTEGER (0..255)

-- TAG-RAN-AREACODE-STOP
-- ASN1STOP

-- ASN1START

-- TAG-RATEMATCHPATTERN-START

RateMatchPattern ::=                SEQUENCE {
    rateMatchPatternId                  RateMatchPatternId,

    patternType                         CHOICE {
        bitmaps                             SEQUENCE {
            resourceBlocks                      BIT STRING (SIZE (275)),
            symbolsInResourceBlock              CHOICE {
                oneSlot                             BIT STRING (SIZE (14)),
                twoSlots                            BIT STRING (SIZE (28))
            },
            periodicityAndPattern               CHOICE {
                n2                                  BIT STRING (SIZE (2)),
                n4                                  BIT STRING (SIZE (4)),
                n5                                  BIT STRING (SIZE (5)),
                n8                                  BIT STRING (SIZE (8)),
                n10                                 BIT STRING (SIZE (10)),
                n20                                 BIT STRING (SIZE (20)),
                n40                                 BIT STRING (SIZE (40))
            }                                                                                           OPTIONAL,   -- Need S
            ...
        },
        controlResourceSet                  ControlResourceSetId
    },
    subcarrierSpacing                   SubcarrierSpacing                                               OPTIONAL,   -- Cond CellLevel
    dummy                               ENUMERATED { dynamic, semiStatic },
    ...,
    [[
    controlResourceSet-r16              ControlResourceSetId-r16                                        OPTIONAL    -- Need R
    ]]

}

-- TAG-RATEMATCHPATTERN-STOP
-- ASN1STOP

-- ASN1START

-- TAG-RATEMATCHPATTERNID-START

RateMatchPatternId ::=              INTEGER (0..maxNrofRateMatchPatterns-1)

-- TAG-RATEMATCHPATTERNID-STOP
-- ASN1STOP

-- ASN1START

-- TAG-RATEMATCHPATTERNLTE-CRS-START

RateMatchPatternLTE-CRS ::=         SEQUENCE {
    carrierFreqDL                       INTEGER (0..16383),
    carrierBandwidthDL                  ENUMERATED {n6, n15, n25, n50, n75, n100, spare2, spare1},
    mbsfn-SubframeConfigList            EUTRA-MBSFN-SubframeConfigList                                          OPTIONAL,   -- Need M
    nrofCRS-Ports                       ENUMERATED {n1, n2, n4},
    v-Shift                             ENUMERATED {n0, n1, n2, n3, n4, n5}
}

LTE-CRS-PatternList-r16 ::=         SEQUENCE (SIZE (1..maxLTE-CRS-Patterns-r16)) OF RateMatchPatternLTE-CRS

-- TAG-RATEMATCHPATTERNLTE-CRS-STOP
-- ASN1STOP

-- ASN1START

-- TAG-REFERENCELOCATION-START

ReferenceLocation-r17 ::= OCTET STRING

-- TAG-REFERENCELOCATION-STOP
-- ASN1STOP

-- ASN1START

-- TAG-REFERENCETIMEINFO-START

ReferenceTimeInfo-r16 ::= SEQUENCE {
    time-r16                            ReferenceTime-r16,
    uncertainty-r16                     INTEGER (0..32767)          OPTIONAL,   -- Need S
    timeInfoType-r16                    ENUMERATED {localClock}     OPTIONAL,   -- Need S
    referenceSFN-r16                    INTEGER (0..1023)           OPTIONAL    -- Cond RefTime
}

ReferenceTime-r16 ::=           SEQUENCE {
    refDays-r16                         INTEGER (0..72999),
    refSeconds-r16                      INTEGER (0..86399),
    refMilliSeconds-r16                 INTEGER (0..999),
    refTenNanoSeconds-r16               INTEGER (0..99999)
}

-- TAG-REFERENCETIMEINFO-STOP
-- ASN1STOP

-- ASN1START

-- TAG-REJECTWAITTIME-START

RejectWaitTime ::=                  INTEGER (1..16)

-- TAG-REJECTWAITTIME-STOP
-- ASN1STOP

-- ASN1START

-- TAG-REPETITIONSCHEMECONFIG-START

RepetitionSchemeConfig-r16 ::= CHOICE {
    fdm-TDM-r16                        SetupRelease { FDM-TDM-r16 },
    slotBased-r16                      SetupRelease { SlotBased-r16 }
}

RepetitionSchemeConfig-v1630 ::=   SEQUENCE {
    slotBased-v1630                    SetupRelease { SlotBased-v1630 }
}

FDM-TDM-r16 ::=                SEQUENCE {
    repetitionScheme-r16           ENUMERATED {fdmSchemeA, fdmSchemeB,tdmSchemeA },
    startingSymbolOffsetK-r16      INTEGER (0..7)                                    OPTIONAL  -- Need R
}

SlotBased-r16 ::=              SEQUENCE {
    tciMapping-r16                 ENUMERATED {cyclicMapping, sequentialMapping},
    sequenceOffsetForRV-r16        INTEGER (1..3)
}

SlotBased-v1630 ::=            SEQUENCE {
    tciMapping-r16                 ENUMERATED {cyclicMapping, sequentialMapping},
    sequenceOffsetForRV-r16        INTEGER (0)
}

-- TAG-REPETITIONSCHEMECONFIG-STOP
-- ASN1STOP

-- ASN1START

-- TAG-REPORTCONFIGID-START

ReportConfigId ::=                          INTEGER (1..maxReportConfigId)

-- TAG-REPORTCONFIGID-STOP
-- ASN1STOP

-- ASN1START

-- TAG-REPORTCONFIGINTERRAT-START

ReportConfigInterRAT ::=                    SEQUENCE {
    reportType                                  CHOICE {
        periodical                                  PeriodicalReportConfigInterRAT,
        eventTriggered                              EventTriggerConfigInterRAT,
        reportCGI                                   ReportCGI-EUTRA,
        ...,
        reportSFTD                                  ReportSFTD-EUTRA
    }
}

ReportCGI-EUTRA ::=                         SEQUENCE {
    cellForWhichToReportCGI         EUTRA-PhysCellId,
    ...,
    [[
    useAutonomousGaps-r16           ENUMERATED {setup}                OPTIONAL     -- Need R
    ]]
}

ReportSFTD-EUTRA ::=                     SEQUENCE {
    reportSFTD-Meas                            BOOLEAN,
    reportRSRP                                 BOOLEAN,
    ...
}

EventTriggerConfigInterRAT ::=              SEQUENCE {
    eventId                                     CHOICE {
        eventB1                                     SEQUENCE {
            b1-ThresholdEUTRA                           MeasTriggerQuantityEUTRA,
            reportOnLeave                               BOOLEAN,
            hysteresis                                  Hysteresis,
            timeToTrigger                               TimeToTrigger,
            ...
        },
        eventB2                                     SEQUENCE {
            b2-Threshold1                               MeasTriggerQuantity,
            b2-Threshold2EUTRA                          MeasTriggerQuantityEUTRA,
            reportOnLeave                               BOOLEAN,
            hysteresis                                  Hysteresis,
            timeToTrigger                               TimeToTrigger,
            ...
        },
        ...,
        [[
        eventB1-UTRA-FDD-r16                         SEQUENCE {
            b1-ThresholdUTRA-FDD-r16                    MeasTriggerQuantityUTRA-FDD-r16,
            reportOnLeave-r16                           BOOLEAN,
            hysteresis-r16                              Hysteresis,
            timeToTrigger-r16                           TimeToTrigger,
            ...
        },
        eventB2-UTRA-FDD-r16                         SEQUENCE {
            b2-Threshold1-r16                           MeasTriggerQuantity,
            b2-Threshold2UTRA-FDD-r16                   MeasTriggerQuantityUTRA-FDD-r16,
            reportOnLeave-r16                           BOOLEAN,
            hysteresis-r16                              Hysteresis,
            timeToTrigger-r16                           TimeToTrigger,
            ...
        }
        ]],
        [[
        eventY1-Relay-r17                            SEQUENCE {
            y1-Threshold1-r17                            MeasTriggerQuantity,
            y1-Threshold2-Relay-r17                      SL-MeasTriggerQuantity-r16,
            reportOnLeave-r17                            BOOLEAN,
            hysteresis-r17                               Hysteresis,
            timeToTrigger-r17                            TimeToTrigger,
            ...
        },
        eventY2-Relay-r17                            SEQUENCE {
            y2-Threshold-Relay-r17                       SL-MeasTriggerQuantity-r16,
            reportOnLeave-r17                            BOOLEAN,
            hysteresis-r17                               Hysteresis,
            timeToTrigger-r17                            TimeToTrigger,
            ...
        }
       ]]
    },
    rsType                              NR-RS-Type,

    reportInterval                      ReportInterval,
    reportAmount                        ENUMERATED {r1, r2, r4, r8, r16, r32, r64, infinity},
    reportQuantity                      MeasReportQuantity,
    maxReportCells                      INTEGER (1..maxCellReport),
    ...,
    [[
    reportQuantityUTRA-FDD-r16          MeasReportQuantityUTRA-FDD-r16         OPTIONAL   -- Need R
    ]],
    [[
    includeCommonLocationInfo-r16       ENUMERATED {true}                                              OPTIONAL,   -- Need R
    includeBT-Meas-r16                  SetupRelease {BT-NameList-r16}                                 OPTIONAL,   -- Need M
    includeWLAN-Meas-r16                SetupRelease {WLAN-NameList-r16}                               OPTIONAL,   -- Need M
    includeSensor-Meas-r16              SetupRelease {Sensor-NameList-r16}                             OPTIONAL    -- Need M
    ]],
    [[
    reportQuantityRelay-r17             SL-MeasReportQuantity-r16                                      OPTIONAL    -- Need R
    ]]}

PeriodicalReportConfigInterRAT ::=              SEQUENCE {
    reportInterval                                  ReportInterval,
    reportAmount                                    ENUMERATED {r1, r2, r4, r8, r16, r32, r64, infinity},
    reportQuantity                                  MeasReportQuantity,
    maxReportCells                                  INTEGER (1..maxCellReport),
    ...,
    [[
    reportQuantityUTRA-FDD-r16                      MeasReportQuantityUTRA-FDD-r16         OPTIONAL   -- Need R
    ]],
    [[
    includeCommonLocationInfo-r16       ENUMERATED {true}                                              OPTIONAL,   -- Need R
    includeBT-Meas-r16                  SetupRelease {BT-NameList-r16}                                 OPTIONAL,   -- Need M
    includeWLAN-Meas-r16                SetupRelease {WLAN-NameList-r16}                               OPTIONAL,   -- Need M
    includeSensor-Meas-r16              SetupRelease {Sensor-NameList-r16}                             OPTIONAL    -- Need M
    ]],
    [[
    reportQuantityRelay-r17             SL-MeasReportQuantity-r16                                      OPTIONAL    -- Need R
    ]]

}

MeasTriggerQuantityUTRA-FDD-r16 ::=          CHOICE{
    utra-FDD-RSCP-r16                            INTEGER (-5..91),
    utra-FDD-EcN0-r16                            INTEGER (0..49)
}

MeasReportQuantityUTRA-FDD-r16 ::=        SEQUENCE {
    cpich-RSCP                                BOOLEAN,
    cpich-EcN0                                BOOLEAN
}

-- TAG-REPORTCONFIGINTERRAT-STOP
-- ASN1STOP

-- ASN1START

-- TAG-REPORTCONFIGNR-START

ReportConfigNR ::=                          SEQUENCE {
    reportType                                  CHOICE {
        periodical                                  PeriodicalReportConfig,
        eventTriggered                              EventTriggerConfig,
        ...,
        reportCGI                                   ReportCGI,
        reportSFTD                                  ReportSFTD-NR,
        condTriggerConfig-r16                       CondTriggerConfig-r16,
        cli-Periodical-r16                          CLI-PeriodicalReportConfig-r16,
        cli-EventTriggered-r16                      CLI-EventTriggerConfig-r16,
        rxTxPeriodical-r17                          RxTxPeriodical-r17
    }
}

ReportCGI ::=                     SEQUENCE {
    cellForWhichToReportCGI          PhysCellId,
        ...,
    [[
    useAutonomousGaps-r16            ENUMERATED {setup}                OPTIONAL   -- Need R
    ]]

}

ReportSFTD-NR ::=                 SEQUENCE {
    reportSFTD-Meas                  BOOLEAN,
    reportRSRP                       BOOLEAN,
    ...,
    [[
    reportSFTD-NeighMeas             ENUMERATED {true}                                OPTIONAL,   -- Need R
    drx-SFTD-NeighMeas               ENUMERATED {true}                                OPTIONAL,   -- Need R
    cellsForWhichToReportSFTD        SEQUENCE (SIZE (1..maxCellSFTD)) OF PhysCellId   OPTIONAL    -- Need R
    ]]
}

CondTriggerConfig-r16 ::=        SEQUENCE {
    condEventId                      CHOICE {
        condEventA3                      SEQUENCE {
            a3-Offset                        MeasTriggerQuantityOffset,
            hysteresis                       Hysteresis,
            timeToTrigger                    TimeToTrigger
        },
        condEventA5                      SEQUENCE {
            a5-Threshold1                    MeasTriggerQuantity,
            a5-Threshold2                    MeasTriggerQuantity,
            hysteresis                       Hysteresis,
            timeToTrigger                    TimeToTrigger
        },
        ...,
        condEventA4-r17                  SEQUENCE {
            a4-Threshold-r17                 MeasTriggerQuantity,
            hysteresis-r17                   Hysteresis,
            timeToTrigger-r17                TimeToTrigger
        },
        condEventD1-r17                  SEQUENCE {
            distanceThreshFromReference1-r17 INTEGER(0..65525),
            distanceThreshFromReference2-r17 INTEGER(0..65525),
            referenceLocation1-r17           ReferenceLocation-r17,
            referenceLocation2-r17           ReferenceLocation-r17,
            hysteresisLocation-r17           HysteresisLocation-r17,
            timeToTrigger-r17                TimeToTrigger
        },
        condEventT1-r17                  SEQUENCE {
            t1-Threshold-r17                 INTEGER (0..549755813887),
            duration-r17                     INTEGER (1..6000)
        }
    },
    rsType-r16                       NR-RS-Type,
    ...
}

EventTriggerConfig ::=                       SEQUENCE {
    eventId                                     CHOICE {
        eventA1                                     SEQUENCE {
            a1-Threshold                                MeasTriggerQuantity,
            reportOnLeave                               BOOLEAN,
            hysteresis                                  Hysteresis,
            timeToTrigger                               TimeToTrigger
        },
        eventA2                                     SEQUENCE {
            a2-Threshold                                MeasTriggerQuantity,
            reportOnLeave                               BOOLEAN,
            hysteresis                                  Hysteresis,
            timeToTrigger                               TimeToTrigger
        },
        eventA3                                     SEQUENCE {
            a3-Offset                                   MeasTriggerQuantityOffset,
            reportOnLeave                               BOOLEAN,
            hysteresis                                  Hysteresis,
            timeToTrigger                               TimeToTrigger,
            useAllowedCellList                          BOOLEAN
        },
        eventA4                                     SEQUENCE {
            a4-Threshold                                MeasTriggerQuantity,
            reportOnLeave                               BOOLEAN,
            hysteresis                                  Hysteresis,
            timeToTrigger                               TimeToTrigger,
            useAllowedCellList                          BOOLEAN
        },
        eventA5                                     SEQUENCE {
            a5-Threshold1                               MeasTriggerQuantity,
            a5-Threshold2                               MeasTriggerQuantity,
            reportOnLeave                               BOOLEAN,
            hysteresis                                  Hysteresis,
            timeToTrigger                               TimeToTrigger,
            useAllowedCellList                          BOOLEAN
        },
        eventA6                                     SEQUENCE {
            a6-Offset                                   MeasTriggerQuantityOffset,
            reportOnLeave                               BOOLEAN,
            hysteresis                                  Hysteresis,
            timeToTrigger                               TimeToTrigger,
            useAllowedCellList                          BOOLEAN
        },
        ...,
        [[
        eventX1-r17                                 SEQUENCE {
            x1-Threshold1-Relay-r17                     SL-MeasTriggerQuantity-r16,
            x1-Threshold2-r17                           MeasTriggerQuantity,
            reportOnLeave-r17                           BOOLEAN,
            hysteresis-r17                              Hysteresis,
            timeToTrigger-r17                           TimeToTrigger,
            useAllowedCellList-r17                      BOOLEAN
        },
        eventX2-r17                                 SEQUENCE {
            x2-Threshold-Relay-r17                      SL-MeasTriggerQuantity-r16,
            reportOnLeave-r17                           BOOLEAN,
            hysteresis-r17                              Hysteresis,
            timeToTrigger-r17                           TimeToTrigger
        },
        eventD1-r17                                 SEQUENCE {
            distanceThreshFromReference1-r17            INTEGER(1..65525),
            distanceThreshFromReference2-r17            INTEGER(1..65525),
            referenceLocation1-r17                      ReferenceLocation-r17,
            referenceLocation2-r17                      ReferenceLocation-r17,
            reportOnLeave-r17                           BOOLEAN,
            hysteresisLocation-r17                      HysteresisLocation-r17,
            timeToTrigger-r17                           TimeToTrigger
        }
        ]]
    },
    rsType                                      NR-RS-Type,
    reportInterval                              ReportInterval,
    reportAmount                                ENUMERATED {r1, r2, r4, r8, r16, r32, r64, infinity},
    reportQuantityCell                          MeasReportQuantity,
    maxReportCells                              INTEGER (1..maxCellReport),
    reportQuantityRS-Indexes                     MeasReportQuantity                                            OPTIONAL,   -- Need R
    maxNrofRS-IndexesToReport                   INTEGER (1..maxNrofIndexesToReport)                            OPTIONAL,   -- Need R
    includeBeamMeasurements                     BOOLEAN,
    reportAddNeighMeas                          ENUMERATED {setup}                                             OPTIONAL,   -- Need R
    ...,
    [[
    measRSSI-ReportConfig-r16                   MeasRSSI-ReportConfig-r16                                      OPTIONAL,   -- Need R
    useT312-r16                                 BOOLEAN                                                        OPTIONAL,   -- Need M
    includeCommonLocationInfo-r16               ENUMERATED {true}                                              OPTIONAL,   -- Need R
    includeBT-Meas-r16                          SetupRelease {BT-NameList-r16}                                 OPTIONAL,   -- Need M
    includeWLAN-Meas-r16                        SetupRelease {WLAN-NameList-r16}                               OPTIONAL,   -- Need M
    includeSensor-Meas-r16                      SetupRelease {Sensor-NameList-r16}                             OPTIONAL    -- Need M
    ]],
    [[
    coarseLocationRequest-r17                   ENUMERATED {true}                                              OPTIONAL,   -- Need R
    reportQuantityRelay-r17                     SL-MeasReportQuantity-r16                                      OPTIONAL    -- Need R
    ]]
}

PeriodicalReportConfig ::=                  SEQUENCE {
    rsType                                      NR-RS-Type,
    reportInterval                              ReportInterval,
    reportAmount                                ENUMERATED {r1, r2, r4, r8, r16, r32, r64, infinity},
    reportQuantityCell                          MeasReportQuantity,
    maxReportCells                              INTEGER (1..maxCellReport),
    reportQuantityRS-Indexes                    MeasReportQuantity                                             OPTIONAL,   -- Need R
    maxNrofRS-IndexesToReport                   INTEGER (1..maxNrofIndexesToReport)                            OPTIONAL,   -- Need R
    includeBeamMeasurements                     BOOLEAN,
    useAllowedCellList                          BOOLEAN,
    ...,
    [[
    measRSSI-ReportConfig-r16                   MeasRSSI-ReportConfig-r16                                      OPTIONAL,   -- Need R
    includeCommonLocationInfo-r16               ENUMERATED {true}                                              OPTIONAL,   -- Need R
    includeBT-Meas-r16                          SetupRelease {BT-NameList-r16}                                 OPTIONAL,   -- Need M
    includeWLAN-Meas-r16                        SetupRelease {WLAN-NameList-r16}                               OPTIONAL,   -- Need M
    includeSensor-Meas-r16                      SetupRelease {Sensor-NameList-r16}                             OPTIONAL,   -- Need M
    ul-DelayValueConfig-r16                     SetupRelease { UL-DelayValueConfig-r16 }                       OPTIONAL,   -- Need M
    reportAddNeighMeas-r16                      ENUMERATED {setup}                                             OPTIONAL    -- Need R
    ]],
    [[
    ul-ExcessDelayConfig-r17                    SetupRelease { UL-ExcessDelayConfig-r17 }                      OPTIONAL,   -- Need M
    coarseLocationRequest-r17                   ENUMERATED {true}                                              OPTIONAL,   -- Need R
    reportQuantityRelay-r17                     SL-MeasReportQuantity-r16                                      OPTIONAL    -- Need R
    ]]
}

NR-RS-Type ::=                              ENUMERATED {ssb, csi-rs}

MeasTriggerQuantity ::=                     CHOICE {
    rsrp                                        RSRP-Range,
    rsrq                                        RSRQ-Range,
    sinr                                        SINR-Range
}

MeasTriggerQuantityOffset ::=               CHOICE {
    rsrp                                        INTEGER (-30..30),
    rsrq                                        INTEGER (-30..30),
    sinr                                        INTEGER (-30..30)
}


MeasReportQuantity ::=                      SEQUENCE {
    rsrp                                        BOOLEAN,
    rsrq                                        BOOLEAN,
    sinr                                        BOOLEAN
}

MeasRSSI-ReportConfig-r16 ::=               SEQUENCE {
    channelOccupancyThreshold-r16               RSSI-Range-r16         OPTIONAL   -- Need R
}

CLI-EventTriggerConfig-r16 ::=              SEQUENCE {
    eventId-r16                                 CHOICE {
        eventI1-r16                                 SEQUENCE {
            i1-Threshold-r16                            MeasTriggerQuantityCLI-r16,
            reportOnLeave-r16                           BOOLEAN,
            hysteresis-r16                              Hysteresis,
            timeToTrigger-r16                           TimeToTrigger
        },
    ...
    },
    reportInterval-r16                          ReportInterval,
    reportAmount-r16                            ENUMERATED {r1, r2, r4, r8, r16, r32, r64, infinity},
    maxReportCLI-r16                            INTEGER (1..maxCLI-Report-r16),
    ...
}

CLI-PeriodicalReportConfig-r16 ::=          SEQUENCE {
    reportInterval-r16                          ReportInterval,
    reportAmount-r16                            ENUMERATED {r1, r2, r4, r8, r16, r32, r64, infinity},
    reportQuantityCLI-r16                       MeasReportQuantityCLI-r16,
    maxReportCLI-r16                            INTEGER (1..maxCLI-Report-r16),
    ...
}

RxTxPeriodical-r17 ::=                     SEQUENCE {
    rxTxReportInterval-r17                      RxTxReportInterval-r17                             OPTIONAL,   -- Need R
    reportAmount-r17                            ENUMERATED {r1, infinity, spare6, spare5, spare4, spare3, spare2, spare1},
    ...
}

RxTxReportInterval-r17 ::= ENUMERATED {ms80,ms120,ms160,ms240,ms320,ms480,ms640,ms1024,ms1280,ms2048,ms2560,ms5120,spare4,spare3,spare2,spare1}

MeasTriggerQuantityCLI-r16 ::=              CHOICE {
    srs-RSRP-r16                                SRS-RSRP-Range-r16,
    cli-RSSI-r16                                CLI-RSSI-Range-r16
}

MeasReportQuantityCLI-r16 ::=               ENUMERATED {srs-rsrp, cli-rssi}

-- TAG-REPORTCONFIGNR-STOP
-- ASN1STOP

-- ASN1START

-- TAG-REPORTCONFIGNR-SL-START

ReportConfigNR-SL-r16 ::=            SEQUENCE {
    reportType-r16                       CHOICE {
        periodical-r16                       PeriodicalReportConfigNR-SL-r16,
        eventTriggered-r16                   EventTriggerConfigNR-SL-r16
    }
}

EventTriggerConfigNR-SL-r16 ::=       SEQUENCE {
    eventId-r16                          CHOICE {
        eventC1                              SEQUENCE {
            c1-Threshold-r16                     SL-CBR-r16,
            hysteresis-r16                       Hysteresis,
            timeToTrigger-r16                    TimeToTrigger
        },
        eventC2-r16                  SEQUENCE {
            c2-Threshold-r16             SL-CBR-r16,
            hysteresis-r16               Hysteresis,
            timeToTrigger-r16            TimeToTrigger
        },
        ...
    },
    reportInterval-r16               ReportInterval,
    reportAmount-r16                 ENUMERATED {r1, r2, r4, r8, r16, r32, r64, infinity},
    reportQuantity-r16               MeasReportQuantity-r16,
    ...
}

PeriodicalReportConfigNR-SL-r16 ::=  SEQUENCE {
    reportInterval-r16                   ReportInterval,
    reportAmount-r16                     ENUMERATED {r1, r2, r4, r8, r16, r32, r64, infinity},
    reportQuantity-r16                   MeasReportQuantity-r16,
    ...
}

MeasReportQuantity-r16 ::=           SEQUENCE {
    cbr-r16                              BOOLEAN,
    ...
}

-- TAG-REPORTCONFIGNR-SL-STOP
-- ASN1STOP

-- ASN1START

-- TAG-REPORTCONFIGTOADDMODLIST-START

ReportConfigToAddModList ::=        SEQUENCE (SIZE (1..maxReportConfigId)) OF ReportConfigToAddMod

ReportConfigToAddMod ::=            SEQUENCE {
    reportConfigId                      ReportConfigId,
    reportConfig                        CHOICE {
        reportConfigNR                      ReportConfigNR,
        ...,
        reportConfigInterRAT                ReportConfigInterRAT,
        reportConfigNR-SL-r16               ReportConfigNR-SL-r16
    }
}

-- TAG-REPORTCONFIGTOADDMODLIST-STOP
-- ASN1STOP

-- ASN1START

-- TAG-REPORTINTERVAL-START

ReportInterval ::=                  ENUMERATED {ms120, ms240, ms480, ms640, ms1024, ms2048, ms5120, ms10240, ms20480, ms40960,
                                                    min1,min6, min12, min30 }

-- TAG-REPORTINTERVAL-STOP
-- ASN1STOP

-- ASN1START

-- TAG-RESELECTIONTHRESHOLD-START

ReselectionThreshold ::=                INTEGER (0..31)

-- TAG-RESELECTIONTHRESHOLD-STOP
-- ASN1STOP

-- ASN1START

-- TAG-RESELECTIONTHRESHOLDQ-START

ReselectionThresholdQ ::=           INTEGER (0..31)

-- TAG-RESELECTIONTHRESHOLDQ-STOP
-- ASN1STOP

-- ASN1START

-- TAG-RESUMECAUSE-START

ResumeCause ::=             ENUMERATED {emergency, highPriorityAccess, mt-Access, mo-Signalling,
                                        mo-Data, mo-VoiceCall, mo-VideoCall, mo-SMS, rna-Update, mps-PriorityAccess,
                                        mcs-PriorityAccess, spare1, spare2, spare3, spare4, spare5 }

-- TAG-RESUMECAUSE-STOP
-- ASN1STOP

-- ASN1START

-- TAG-RLC-BEARERCONFIG-START

RLC-BearerConfig ::=                        SEQUENCE {
    logicalChannelIdentity                      LogicalChannelIdentity,
    servedRadioBearer                           CHOICE {
        srb-Identity                                SRB-Identity,
        drb-Identity                                DRB-Identity
    }                                                                                               OPTIONAL,   -- Cond LCH-SetupOnly
    reestablishRLC                              ENUMERATED {true}                                   OPTIONAL,   -- Need N
    rlc-Config                                  RLC-Config                                          OPTIONAL,   -- Cond LCH-Setup
    mac-LogicalChannelConfig                    LogicalChannelConfig                                OPTIONAL,   -- Cond LCH-Setup
    ...,
    [[
    rlc-Config-v1610                            RLC-Config-v1610                                    OPTIONAL    -- Need R
    ]],
    [[
    rlc-Config-v1700                            RLC-Config-v1700                                    OPTIONAL,   -- Need R
    logicalChannelIdentityExt-r17               LogicalChannelIdentityExt-r17                       OPTIONAL,   -- Cond LCH-SetupModMRB
    multicastRLC-BearerConfig-r17               MulticastRLC-BearerConfig-r17                       OPTIONAL,   -- Cond LCH-SetupOnlyMRB
    servedRadioBearerSRB4-r17                   SRB-Identity-v1700                                  OPTIONAL    -- Need N
    ]]
}

MulticastRLC-BearerConfig-r17 ::=           SEQUENCE {
    servedMBS-RadioBearer-r17                   MRB-Identity-r17,
    isPTM-Entity-r17                            ENUMERATED {true}                                   OPTIONAL    -- Need S
}

LogicalChannelIdentityExt-r17 ::=           INTEGER (320..65855)

-- TAG-RLC-BEARERCONFIG-STOP
-- ASN1STOP

-- ASN1START

-- TAG-RLC-CONFIG-START

RLC-Config ::=                      CHOICE {
    am                                  SEQUENCE {
        ul-AM-RLC                           UL-AM-RLC,
        dl-AM-RLC                           DL-AM-RLC
    },
    um-Bi-Directional                   SEQUENCE {
        ul-UM-RLC                           UL-UM-RLC,
        dl-UM-RLC                           DL-UM-RLC
    },
    um-Uni-Directional-UL               SEQUENCE {
        ul-UM-RLC                           UL-UM-RLC
    },
    um-Uni-Directional-DL               SEQUENCE {
        dl-UM-RLC                           DL-UM-RLC
    },
    ...
}

UL-AM-RLC ::=                       SEQUENCE {
    sn-FieldLength                      SN-FieldLengthAM                                    OPTIONAL,   -- Cond Reestab
    t-PollRetransmit                    T-PollRetransmit,
    pollPDU                             PollPDU,
    pollByte                            PollByte,
    maxRetxThreshold                    ENUMERATED { t1, t2, t3, t4, t6, t8, t16, t32 }
}

DL-AM-RLC ::=                       SEQUENCE {
    sn-FieldLength                      SN-FieldLengthAM                                    OPTIONAL,   -- Cond Reestab
    t-Reassembly                        T-Reassembly,
    t-StatusProhibit                    T-StatusProhibit
}

UL-UM-RLC ::=                       SEQUENCE {
    sn-FieldLength                      SN-FieldLengthUM                                    OPTIONAL    -- Cond Reestab
}

DL-UM-RLC ::=                       SEQUENCE {
    sn-FieldLength                      SN-FieldLengthUM                                    OPTIONAL,   -- Cond Reestab
    t-Reassembly                        T-Reassembly
}

T-PollRetransmit ::=                ENUMERATED {
                                        ms5, ms10, ms15, ms20, ms25, ms30, ms35,
                                        ms40, ms45, ms50, ms55, ms60, ms65, ms70,
                                        ms75, ms80, ms85, ms90, ms95, ms100, ms105,
                                        ms110, ms115, ms120, ms125, ms130, ms135,
                                        ms140, ms145, ms150, ms155, ms160, ms165,
                                        ms170, ms175, ms180, ms185, ms190, ms195,
                                        ms200, ms205, ms210, ms215, ms220, ms225,
                                        ms230, ms235, ms240, ms245, ms250, ms300,
                                        ms350, ms400, ms450, ms500, ms800, ms1000,
                                        ms2000, ms4000, ms1-v1610, ms2-v1610, ms3-v1610,
                                        ms4-v1610, spare1}


PollPDU ::=                         ENUMERATED {
                                        p4, p8, p16, p32, p64, p128, p256, p512, p1024, p2048, p4096, p6144, p8192, p12288, p16384,p20480,
                                        p24576, p28672, p32768, p40960, p49152, p57344, p65536, infinity, spare8, spare7, spare6, spare5, spare4,
                                        spare3, spare2, spare1}

PollByte ::=                        ENUMERATED {
                                        kB1, kB2, kB5, kB8, kB10, kB15, kB25, kB50, kB75,
                                        kB100, kB125, kB250, kB375, kB500, kB750, kB1000,
                                        kB1250, kB1500, kB2000, kB3000, kB4000, kB4500,
                                        kB5000, kB5500, kB6000, kB6500, kB7000, kB7500,
                                        mB8, mB9, mB10, mB11, mB12, mB13, mB14, mB15,
                                        mB16, mB17, mB18, mB20, mB25, mB30, mB40, infinity,
                                        spare20, spare19, spare18, spare17, spare16,
                                        spare15, spare14, spare13, spare12, spare11,
                                        spare10, spare9, spare8, spare7, spare6, spare5,
                                        spare4, spare3, spare2, spare1}

T-Reassembly ::=                    ENUMERATED {
                                        ms0, ms5, ms10, ms15, ms20, ms25, ms30, ms35,
                                        ms40, ms45, ms50, ms55, ms60, ms65, ms70,
                                        ms75, ms80, ms85, ms90, ms95, ms100, ms110,
                                        ms120, ms130, ms140, ms150, ms160, ms170,
                                        ms180, ms190, ms200, spare1}

T-StatusProhibit ::=                ENUMERATED {
                                        ms0, ms5, ms10, ms15, ms20, ms25, ms30, ms35,
                                        ms40, ms45, ms50, ms55, ms60, ms65, ms70,
                                        ms75, ms80, ms85, ms90, ms95, ms100, ms105,
                                        ms110, ms115, ms120, ms125, ms130, ms135,
                                        ms140, ms145, ms150, ms155, ms160, ms165,
                                        ms170, ms175, ms180, ms185, ms190, ms195,
                                        ms200, ms205, ms210, ms215, ms220, ms225,
                                        ms230, ms235, ms240, ms245, ms250, ms300,
                                        ms350, ms400, ms450, ms500, ms800, ms1000,
                                        ms1200, ms1600, ms2000, ms2400, spare2, spare1}

SN-FieldLengthUM ::=                ENUMERATED {size6, size12}
SN-FieldLengthAM ::=                ENUMERATED {size12, size18}

RLC-Config-v1610 ::=                SEQUENCE {
    dl-AM-RLC-v1610                     DL-AM-RLC-v1610
}

RLC-Config-v1700 ::=                SEQUENCE {
    dl-AM-RLC-v1700                     DL-AM-RLC-v1700,
    dl-UM-RLC-v1700                     DL-UM-RLC-v1700
}

DL-AM-RLC-v1610 ::=                 SEQUENCE {
    t-StatusProhibit-v1610              T-StatusProhibit-v1610                               OPTIONAL,   -- Need N
    ...
}

DL-AM-RLC-v1700 ::=                 SEQUENCE {
    t-ReassemblyExt-r17                 T-ReassemblyExt-r17                                  OPTIONAL    -- Need N
}

DL-UM-RLC-v1700 ::=                 SEQUENCE {
    t-ReassemblyExt-r17                 T-ReassemblyExt-r17                                  OPTIONAL    -- Need N
}

T-StatusProhibit-v1610 ::=          ENUMERATED { ms1, ms2, ms3, ms4, spare4, spare3, spare2, spare1}

T-ReassemblyExt-r17 ::=             ENUMERATED {ms210, ms220, ms340, ms350, ms550, ms1100, ms1650, ms2200}

-- TAG-RLC-CONFIG-STOP
-- ASN1STOP

-- ASN1START

-- TAG-RLF-TIMERSANDCONSTANTS-START

RLF-TimersAndConstants ::=          SEQUENCE {
    t310                                ENUMERATED {ms0, ms50, ms100, ms200, ms500, ms1000, ms2000, ms4000, ms6000},
    n310                                ENUMERATED {n1, n2, n3, n4, n6, n8, n10, n20},
    n311                                ENUMERATED {n1, n2, n3, n4, n5, n6, n8, n10},
    ...,
    [[
    t311                                ENUMERATED {ms1000, ms3000, ms5000, ms10000, ms15000, ms20000, ms30000}
    ]]
}

-- TAG-RLF-TIMERSANDCONSTANTS-STOP
-- ASN1STOP

-- ASN1START

-- TAG-RNTI-VALUE-START

RNTI-Value ::=                      INTEGER (0..65535)

-- TAG-RNTI-VALUE-STOP
-- ASN1STOP

-- ASN1START

-- TAG-RSRP-RANGE-START

RSRP-Range ::=                      INTEGER(0..127)

-- TAG-RSRP-RANGE-STOP
-- ASN1STOP

-- ASN1START

-- TAG-RSRQ-RANGE-START

RSRQ-Range ::=                      INTEGER(0..127)

-- TAG-RSRQ-RANGE-STOP
-- ASN1STOP

-- ASN1START

-- TAG-RSSI-RANGE-START

RSSI-Range-r16 ::=                  INTEGER(0..76)

-- TAG-RSSI-RANGE-STOP
-- ASN1STOP

-- ASN1START

-- TAG-RXTXTIMEDIFF-START

RxTxTimeDiff-r17 ::= SEQUENCE {
    result-k5-r17         INTEGER (0..61565)                 OPTIONAL, -- Need N
    ...
}

-- TAG-RXTXTIMEDIFF-STOP
-- ASN1STOP

-- ASN1START

-- TAG-SCELLACTIVATIONRS-CONFIG-START

SCellActivationRS-Config-r17 ::= SEQUENCE {
    scellActivationRS-Id-r17         SCellActivationRS-ConfigId-r17,
    resourceSet-r17                  NZP-CSI-RS-ResourceSetId,
    gapBetweenBursts-r17             INTEGER (2..31)                                                            OPTIONAL, -- Need R
    qcl-Info-r17                     TCI-StateId,
    ...
}

-- TAG-SCELLACTIVATIONRS-CONFIG-STOP
-- ASN1STOP

-- ASN1START

-- TAG-SCELLACTIVATIONRS-CONFIGID-START

SCellActivationRS-ConfigId-r17 ::=        INTEGER (1..maxNrofSCellActRS-r17)

-- TAG-SCELLACTIVATIONRS-CONFIGID-STOP
-- ASN1STOP

-- ASN1START

-- TAG-SCELLINDEX-START

SCellIndex ::=                      INTEGER (1..31)

-- TAG-SCELLINDEX-STOP
-- ASN1STOP

-- ASN1START

-- TAG-SCHEDULINGREQUESTCONFIG-START

SchedulingRequestConfig ::=         SEQUENCE {
    schedulingRequestToAddModList       SEQUENCE (SIZE (1..maxNrofSR-ConfigPerCellGroup)) OF SchedulingRequestToAddMod
                                                                                                          OPTIONAL, -- Need N
    schedulingRequestToReleaseList      SEQUENCE (SIZE (1..maxNrofSR-ConfigPerCellGroup)) OF SchedulingRequestId
                                                                                                          OPTIONAL  -- Need N
}

SchedulingRequestToAddMod ::=       SEQUENCE {
    schedulingRequestId                 SchedulingRequestId,
    sr-ProhibitTimer                    ENUMERATED {ms1, ms2, ms4, ms8, ms16, ms32, ms64, ms128}          OPTIONAL, -- Need S
    sr-TransMax                         ENUMERATED { n4, n8, n16, n32, n64, spare3, spare2, spare1}
}

SchedulingRequestConfig-v1700 ::=       SEQUENCE {
    schedulingRequestToAddModListExt-v1700  SEQUENCE (SIZE (1..maxNrofSR-ConfigPerCellGroup)) OF SchedulingRequestToAddModExt-v1700
                                                                                                          OPTIONAL  -- Need N
}

SchedulingRequestToAddModExt-v1700 ::=  SEQUENCE {
    sr-ProhibitTimer-v1700                  ENUMERATED { ms192, ms256, ms320, ms384, ms448, ms512, ms576, ms640, ms1082, spare7, spare6, spare5, spare4, spare3, spare2, spare1}
                                                                                                          OPTIONAL  -- Need R
}

-- TAG-SCHEDULINGREQUESTCONFIG-STOP
-- ASN1STOP

-- ASN1START

-- TAG-SCHEDULINGREQUESTID-START

SchedulingRequestId ::=             INTEGER (0..7)

-- TAG-SCHEDULINGREQUESTID-STOP
-- ASN1STOP

-- ASN1START

-- TAG-SCHEDULINGREQUESTRESOURCECONFIG-START

SchedulingRequestResourceConfig ::=     SEQUENCE {
    schedulingRequestResourceId             SchedulingRequestResourceId,
    schedulingRequestID                     SchedulingRequestId,
    periodicityAndOffset                    CHOICE {
        sym2                                    NULL,
        sym6or7                                 NULL,
        sl1                                     NULL,                       -- Recurs in every slot
        sl2                                     INTEGER (0..1),
        sl4                                     INTEGER (0..3),
        sl5                                     INTEGER (0..4),
        sl8                                     INTEGER (0..7),
        sl10                                    INTEGER (0..9),
        sl16                                    INTEGER (0..15),
        sl20                                    INTEGER (0..19),
        sl40                                    INTEGER (0..39),
        sl80                                    INTEGER (0..79),
        sl160                                   INTEGER (0..159),
        sl320                                   INTEGER (0..319),
        sl640                                   INTEGER (0..639)
    }                                                                                                       OPTIONAL,   -- Need M
    resource                                PUCCH-ResourceId                                                OPTIONAL    -- Need M
}

SchedulingRequestResourceConfigExt-v1610 ::=   SEQUENCE {
    phy-PriorityIndex-r16                       ENUMERATED {p0, p1}                                         OPTIONAL,   -- Need M
    ...
}

SchedulingRequestResourceConfigExt-v1700 ::=    SEQUENCE {
    periodicityAndOffset-r17                        CHOICE {
        sl1280                                          INTEGER (0..1279),
        sl2560                                          INTEGER (0..2559),
        sl5120                                          INTEGER (0..5119)
    }                                                                                                       OPTIONAL   -- Need M
}

-- TAG-SCHEDULINGREQUESTRESOURCECONFIG-STOP
-- ASN1STOP

-- ASN1START

-- TAG-SCHEDULINGREQUESTRESOURCEID-START

SchedulingRequestResourceId ::=     INTEGER (1..maxNrofSR-Resources)

-- TAG-SCHEDULINGREQUESTRESOURCEID-STOP
-- ASN1STOP

-- ASN1START

-- TAG-SCRAMBLINGID-START

ScramblingId ::=                    INTEGER(0..1023)

-- TAG-SCRAMBLINGID-STOP
-- ASN1STOP

-- ASN1START

-- TAG-SCS-SPECIFICCARRIER-START

SCS-SpecificCarrier ::=             SEQUENCE {
    offsetToCarrier                     INTEGER (0..2199),
    subcarrierSpacing                   SubcarrierSpacing,
    carrierBandwidth                    INTEGER (1..maxNrofPhysicalResourceBlocks),
    ...,
    [[
    txDirectCurrentLocation         INTEGER (0..4095)                                       OPTIONAL            -- Need S
    ]]
}

-- TAG-SCS-SPECIFICCARRIER-STOP
-- ASN1STOP

-- ASN1START

-- TAG-SDAP-CONFIG-START

SDAP-Config ::=                     SEQUENCE {
    pdu-Session                         PDU-SessionID,
    sdap-HeaderDL                       ENUMERATED {present, absent},
    sdap-HeaderUL                       ENUMERATED {present, absent},
    defaultDRB                          BOOLEAN,
    mappedQoS-FlowsToAdd                SEQUENCE (SIZE (1..maxNrofQFIs)) OF QFI                                 OPTIONAL, -- Need N
    mappedQoS-FlowsToRelease            SEQUENCE (SIZE (1..maxNrofQFIs)) OF QFI                                 OPTIONAL, -- Need N
    ...
}

QFI ::=                             INTEGER (0..maxQFI)

PDU-SessionID ::=                   INTEGER (0..255)

-- TAG-SDAP-CONFIG-STOP
-- ASN1STOP

-- ASN1START

-- TAG-SEARCHSPACE-START

SearchSpace ::=                         SEQUENCE {
    searchSpaceId                           SearchSpaceId,
    controlResourceSetId                    ControlResourceSetId                                        OPTIONAL,   -- Cond SetupOnly
    monitoringSlotPeriodicityAndOffset      CHOICE {
        sl1                                     NULL,
        sl2                                     INTEGER (0..1),
        sl4                                     INTEGER (0..3),
        sl5                                     INTEGER (0..4),
        sl8                                     INTEGER (0..7),
        sl10                                    INTEGER (0..9),
        sl16                                    INTEGER (0..15),
        sl20                                    INTEGER (0..19),
        sl40                                    INTEGER (0..39),
        sl80                                    INTEGER (0..79),
        sl160                                   INTEGER (0..159),
        sl320                                   INTEGER (0..319),
        sl640                                   INTEGER (0..639),
        sl1280                                  INTEGER (0..1279),
        sl2560                                  INTEGER (0..2559)
    }                                                                                                   OPTIONAL,   -- Cond Setup4
    duration                                INTEGER (2..2559)                                           OPTIONAL,   -- Need S
    monitoringSymbolsWithinSlot             BIT STRING (SIZE (14))                                      OPTIONAL,   -- Cond Setup
    nrofCandidates                          SEQUENCE {
        aggregationLevel1                       ENUMERATED {n0, n1, n2, n3, n4, n5, n6, n8},
        aggregationLevel2                       ENUMERATED {n0, n1, n2, n3, n4, n5, n6, n8},
        aggregationLevel4                       ENUMERATED {n0, n1, n2, n3, n4, n5, n6, n8},
        aggregationLevel8                       ENUMERATED {n0, n1, n2, n3, n4, n5, n6, n8},
        aggregationLevel16                      ENUMERATED {n0, n1, n2, n3, n4, n5, n6, n8}
    }                                                                                                   OPTIONAL,   -- Cond Setup
    searchSpaceType                         CHOICE {
        common                                  SEQUENCE {
            dci-Format0-0-AndFormat1-0              SEQUENCE {
                ...
            }                                                                                           OPTIONAL,   -- Need R
            dci-Format2-0                           SEQUENCE {
                nrofCandidates-SFI                      SEQUENCE {
                    aggregationLevel1                       ENUMERATED {n1, n2}                         OPTIONAL,   -- Need R
                    aggregationLevel2                       ENUMERATED {n1, n2}                         OPTIONAL,   -- Need R
                    aggregationLevel4                       ENUMERATED {n1, n2}                         OPTIONAL,   -- Need R
                    aggregationLevel8                       ENUMERATED {n1, n2}                         OPTIONAL,   -- Need R
                    aggregationLevel16                      ENUMERATED {n1, n2}                         OPTIONAL    -- Need R
                },
                ...
            }                                                                                           OPTIONAL,   -- Need R
            dci-Format2-1                           SEQUENCE {
                ...
            }                                                                                           OPTIONAL,   -- Need R
            dci-Format2-2                           SEQUENCE {
                ...
            }                                                                                           OPTIONAL,   -- Need R
            dci-Format2-3                           SEQUENCE {
                dummy1                                  ENUMERATED {sl1, sl2, sl4, sl5, sl8, sl10, sl16, sl20}  OPTIONAL,   -- Cond Setup
                dummy2                                  ENUMERATED {n1, n2},
                ...
            }                                                                                           OPTIONAL    -- Need R
        },
        ue-Specific                                 SEQUENCE {
            dci-Formats                                 ENUMERATED {formats0-0-And-1-0, formats0-1-And-1-1},
            ...,
            [[
            dci-Formats-MT-r16                   ENUMERATED {formats2-5}                                OPTIONAL,    -- Need R
            dci-FormatsSL-r16                    ENUMERATED {formats0-0-And-1-0, formats0-1-And-1-1, formats3-0, formats3-1,
                                                             formats3-0-And-3-1}                        OPTIONAL,    -- Need R
            dci-FormatsExt-r16                   ENUMERATED {formats0-2-And-1-2, formats0-1-And-1-1And-0-2-And-1-2}
                                                                                                        OPTIONAL     -- Need R
            ]]
        }
    }                                                                                                   OPTIONAL    -- Cond Setup2
}

SearchSpaceExt-r16 ::=                   SEQUENCE {
    controlResourceSetId-r16                ControlResourceSetId-r16                                    OPTIONAL,   -- Cond SetupOnly2
    searchSpaceType-r16                     SEQUENCE {
        common-r16                              SEQUENCE {
            dci-Format2-4-r16                       SEQUENCE {
                nrofCandidates-CI-r16                   SEQUENCE {
                    aggregationLevel1-r16                   ENUMERATED {n1, n2}                         OPTIONAL,   -- Need R
                    aggregationLevel2-r16                   ENUMERATED {n1, n2}                         OPTIONAL,   -- Need R
                    aggregationLevel4-r16                   ENUMERATED {n1, n2}                         OPTIONAL,   -- Need R
                    aggregationLevel8-r16                   ENUMERATED {n1, n2}                         OPTIONAL,   -- Need R
                    aggregationLevel16-r16                  ENUMERATED {n1, n2}                         OPTIONAL    -- Need R
                },
                ...
            }                                                                                           OPTIONAL,   -- Need R
            dci-Format2-5-r16                      SEQUENCE {
                nrofCandidates-IAB-r16                  SEQUENCE {
                    aggregationLevel1-r16                   ENUMERATED {n1, n2}                         OPTIONAL,   -- Need R
                    aggregationLevel2-r16                   ENUMERATED {n1, n2}                         OPTIONAL,   -- Need R
                    aggregationLevel4-r16                   ENUMERATED {n1, n2}                         OPTIONAL,   -- Need R
                    aggregationLevel8-r16                   ENUMERATED {n1, n2}                         OPTIONAL,   -- Need R
                    aggregationLevel16-r16                  ENUMERATED {n1, n2}                         OPTIONAL    -- Need R
                },
                ...
            }                                                                                           OPTIONAL,   -- Need R
            dci-Format2-6-r16                       SEQUENCE {
                ...
            }                                                                                           OPTIONAL,   -- Need R
            ...
        }
    }                                                                                                   OPTIONAL,    -- Cond Setup3
    searchSpaceGroupIdList-r16                      SEQUENCE (SIZE (1..2)) OF INTEGER (0..1)           OPTIONAL,    -- Need R
    freqMonitorLocations-r16                        BIT STRING (SIZE (5))                               OPTIONAL     -- Need R
}

SearchSpaceExt-v1700 ::=            SEQUENCE {
    monitoringSlotPeriodicityAndOffset-v1710 CHOICE {
        sl32                                     INTEGER (0..31),
        sl64                                     INTEGER (0..63),
        sl128                                    INTEGER (0..127),
        sl5120                                   INTEGER (0..5119),
        sl10240                                  INTEGER (0..10239),
        sl20480                                  INTEGER (0..20479)
    }                                                                                                   OPTIONAL,   -- Cond Setup5
    monitoringSlotsWithinSlotGroup-r17       CHOICE {
        slotGroupLength4-r17                     BIT STRING (SIZE (4)),
        slotGroupLength8-r17                     BIT STRING (SIZE (8))
    }                                                                                                   OPTIONAL,   -- Need R
    duration-r17                             INTEGER (4..20476)                                         OPTIONAL,   -- Need R

    searchSpaceType-r17             SEQUENCE{
        common-r17                      SEQUENCE {
            dci-Format4-0-r17               SEQUENCE {
                ...
            }                                                                                           OPTIONAL,   -- Need R
            dci-Format4-1-r17               SEQUENCE {
                ...
            }                                                                                           OPTIONAL,   -- Need R
            dci-Format4-2-r17               SEQUENCE {
                ...
            }                                                                                           OPTIONAL,   -- Need R
            dci-Format4-1-AndFormat4-2-r17  SEQUENCE {
                ...
            }                                                                                           OPTIONAL,   -- Need R
            dci-Format2-7-r17               SEQUENCE {
                nrofCandidates-PEI-r17          SEQUENCE {
                    aggregationLevel4-r17       ENUMERATED {n0, n1, n2, n3, n4}                         OPTIONAL,   -- Need R
                    aggregationLevel8-r17       ENUMERATED {n0, n1, n2}                                 OPTIONAL,   -- Need R
                    aggregationLevel16-r17      ENUMERATED {n0, n1}                                     OPTIONAL    -- Need R
                },
                ...
            }                                                                                           OPTIONAL    -- Need R
        }
    }                                                                                                   OPTIONAL,   -- Need R
    searchSpaceGroupIdList-r17          SEQUENCE (SIZE (1..3)) OF INTEGER (0..maxNrofSearchSpaceGroups-1-r17)  OPTIONAL,  -- Cond DedicatedOnly
    searchSpaceLinkingId-r17            INTEGER (0..maxNrofSearchSpacesLinks-1-r17)                     OPTIONAL    -- Cond DedicatedOnly
}

-- TAG-SEARCHSPACE-STOP
-- ASN1STOP

-- ASN1START

-- TAG-SEARCHSPACEID-START

SearchSpaceId ::=                   INTEGER (0..maxNrofSearchSpaces-1)

-- TAG-SEARCHSPACEID-STOP
-- ASN1STOP

-- ASN1START

-- TAG-SEARCHSPACEZERO-START

SearchSpaceZero ::=                 INTEGER (0..15)

-- TAG-SEARCHSPACEZERO-STOP
-- ASN1STOP

-- ASN1START

-- TAG-SECURITYALGORITHMCONFIG-START

SecurityAlgorithmConfig ::=         SEQUENCE {
    cipheringAlgorithm                  CipheringAlgorithm,
    integrityProtAlgorithm              IntegrityProtAlgorithm          OPTIONAL,   -- Need R
    ...
}

IntegrityProtAlgorithm ::=          ENUMERATED {
                                        nia0, nia1, nia2, nia3, spare4, spare3,
                                        spare2, spare1, ...}

CipheringAlgorithm ::=              ENUMERATED {
                                        nea0, nea1, nea2, nea3, spare4, spare3,
                                        spare2, spare1, ...}

-- TAG-SECURITYALGORITHMCONFIG-STOP
-- ASN1STOP

-- ASN1START

-- TAG-SEMISTATICCHANNELACCESSCONFIG-START

SemiStaticChannelAccessConfig-r16 ::=    SEQUENCE {
    period                                   ENUMERATED {ms1, ms2, ms2dot5, ms4, ms5, ms10}
}

-- TAG-SEMISTATICCHANNELACCESSCONFIG-STOP
-- ASN1STOP

-- ASN1START

-- TAG-SEMISTATICCHANNELACCESSCONFIGUE-START

SemiStaticChannelAccessConfigUE-r17 ::=    SEQUENCE {
    periodUE-r17                               ENUMERATED {ms1, ms2, ms2dot5, ms4, ms5, ms10, spare2, spare1},
    offsetUE-r17                               INTEGER (0..559)
}

-- TAG-SEMISTATICCHANNELACCESSCONFIGUE-STOP
-- ASN1STOP

-- ASN1START

-- TAG-SENSORLOCATIONINFO-START

Sensor-LocationInfo-r16 ::= SEQUENCE {
    sensor-MeasurementInformation-r16    OCTET STRING    OPTIONAL,
    sensor-MotionInformation-r16         OCTET STRING    OPTIONAL,
    ...
}

-- TAG-SENSORLOCATIONINFO-STOP
-- ASN1STOP

-- ASN1START

-- TAG-SERVINGCELLANDBWP-ID-START

ServingCellAndBWP-Id-r17 ::= SEQUENCE {
    servingcell-r17              ServCellIndex,
    bwp-r17                      BWP-Id
}

-- TAG-SERVINGCELLANDBWP-ID-STOP
-- ASN1STOP

-- ASN1START

-- TAG-SERVCELLINDEX-START

ServCellIndex ::=                   INTEGER (0..maxNrofServingCells-1)

-- TAG-SERVCELLINDEX-STOP
-- ASN1STOP

-- ASN1START

-- TAG-SERVINGCELLCONFIG-START

ServingCellConfig ::=               SEQUENCE {
    tdd-UL-DL-ConfigurationDedicated    TDD-UL-DL-ConfigDedicated                                                OPTIONAL,   -- Cond TDD
    initialDownlinkBWP                  BWP-DownlinkDedicated                                                    OPTIONAL,   -- Need M
    downlinkBWP-ToReleaseList           SEQUENCE (SIZE (1..maxNrofBWPs)) OF BWP-Id                               OPTIONAL,   -- Need N
    downlinkBWP-ToAddModList            SEQUENCE (SIZE (1..maxNrofBWPs)) OF BWP-Downlink                         OPTIONAL,   -- Need N
    firstActiveDownlinkBWP-Id           BWP-Id                                                                   OPTIONAL,   -- Cond SyncAndCellAdd
    bwp-InactivityTimer                 ENUMERATED {ms2, ms3, ms4, ms5, ms6, ms8, ms10, ms20, ms30,
                                                    ms40,ms50, ms60, ms80,ms100, ms200,ms300, ms500,
                                                    ms750, ms1280, ms1920, ms2560, spare10, spare9, spare8,
                                                    spare7, spare6, spare5, spare4, spare3, spare2, spare1 }    OPTIONAL,   -- Need R
    defaultDownlinkBWP-Id               BWP-Id                                                                  OPTIONAL,   -- Need S
    uplinkConfig                        UplinkConfig                                                            OPTIONAL,   -- Need M
    supplementaryUplink                 UplinkConfig                                                            OPTIONAL,   -- Need M
    pdcch-ServingCellConfig             SetupRelease { PDCCH-ServingCellConfig }                                OPTIONAL,   -- Need M
    pdsch-ServingCellConfig             SetupRelease { PDSCH-ServingCellConfig }                                OPTIONAL,   -- Need M
    csi-MeasConfig                      SetupRelease { CSI-MeasConfig }                                         OPTIONAL,   -- Need M
    sCellDeactivationTimer              ENUMERATED {ms20, ms40, ms80, ms160, ms200, ms240,
                                                    ms320, ms400, ms480, ms520, ms640, ms720,
                                                    ms840, ms1280, spare2,spare1}       OPTIONAL,   -- Cond ServingCellWithoutPUCCH
    crossCarrierSchedulingConfig        CrossCarrierSchedulingConfig                                            OPTIONAL,   -- Need M
    tag-Id                              TAG-Id,
    dummy1                              ENUMERATED {enabled}                                                    OPTIONAL,   -- Need R
    pathlossReferenceLinking            ENUMERATED {spCell, sCell}                                              OPTIONAL,   -- Cond SCellOnly
    servingCellMO                       MeasObjectId                                                            OPTIONAL,   -- Cond MeasObject
    ...,
    [[
    lte-CRS-ToMatchAround               SetupRelease { RateMatchPatternLTE-CRS }                                OPTIONAL,   -- Need M
    rateMatchPatternToAddModList        SEQUENCE (SIZE (1..maxNrofRateMatchPatterns)) OF RateMatchPattern       OPTIONAL,   -- Need N
    rateMatchPatternToReleaseList       SEQUENCE (SIZE (1..maxNrofRateMatchPatterns)) OF RateMatchPatternId     OPTIONAL,   -- Need N
    downlinkChannelBW-PerSCS-List       SEQUENCE (SIZE (1..maxSCSs)) OF SCS-SpecificCarrier                     OPTIONAL    -- Need S
    ]],
    [[
    supplementaryUplinkRelease-r16      ENUMERATED {true}                                                       OPTIONAL,   -- Need N
    tdd-UL-DL-ConfigurationDedicated-IAB-MT-r16    TDD-UL-DL-ConfigDedicated-IAB-MT-r16                         OPTIONAL,   -- Cond TDD_IAB
    dormantBWP-Config-r16               SetupRelease { DormantBWP-Config-r16 }                                  OPTIONAL,   -- Need M
    ca-SlotOffset-r16                   CHOICE {
        refSCS15kHz                         INTEGER (-2..2),
        refSCS30KHz                         INTEGER (-5..5),
        refSCS60KHz                         INTEGER (-10..10),
        refSCS120KHz                        INTEGER (-20..20)
    }                                                                                                           OPTIONAL,   -- Cond AsyncCA
    dummy2                              SetupRelease { DummyJ }                                                 OPTIONAL,   -- Need M
    intraCellGuardBandsDL-List-r16      SEQUENCE (SIZE (1..maxSCSs)) OF IntraCellGuardBandsPerSCS-r16           OPTIONAL,   -- Need S
    intraCellGuardBandsUL-List-r16      SEQUENCE (SIZE (1..maxSCSs)) OF IntraCellGuardBandsPerSCS-r16           OPTIONAL,   -- Need S
    csi-RS-ValidationWithDCI-r16        ENUMERATED {enabled}                                                    OPTIONAL,   -- Need R
    lte-CRS-PatternList1-r16            SetupRelease { LTE-CRS-PatternList-r16 }                                OPTIONAL,   -- Need M
    lte-CRS-PatternList2-r16            SetupRelease { LTE-CRS-PatternList-r16 }                                OPTIONAL,   -- Need M
    crs-RateMatch-PerCORESETPoolIndex-r16  ENUMERATED {enabled}                                                 OPTIONAL,   -- Need R
    enableTwoDefaultTCI-States-r16      ENUMERATED {enabled}                                                    OPTIONAL,   -- Need R
    enableDefaultTCI-StatePerCoresetPoolIndex-r16 ENUMERATED {enabled}                                          OPTIONAL,   -- Need R
    enableBeamSwitchTiming-r16          ENUMERATED {true}                                                       OPTIONAL,   -- Need R
    cbg-TxDiffTBsProcessingType1-r16    ENUMERATED {enabled}                                                    OPTIONAL,   -- Need R
    cbg-TxDiffTBsProcessingType2-r16    ENUMERATED {enabled}                                                    OPTIONAL    -- Need R
    ]],
    [[
    directionalCollisionHandling-r16    ENUMERATED {enabled}                                                    OPTIONAL,   -- Need R
    channelAccessConfig-r16             SetupRelease { ChannelAccessConfig-r16 }                                OPTIONAL    -- Need M
    ]],
    [[
    nr-dl-PRS-PDC-Info-r17                 SetupRelease {NR-DL-PRS-PDC-Info-r17}                                OPTIONAL,   -- Need M
    semiStaticChannelAccessConfigUE-r17    SetupRelease {SemiStaticChannelAccessConfigUE-r17}                   OPTIONAL,   -- Need M
    mimoParam-r17                       SetupRelease {MIMOParam-r17}                                            OPTIONAL,   -- Need M
    channelAccessMode2-r17              ENUMERATED {enabled}                                                    OPTIONAL,   -- Need R
    timeDomainHARQ-BundlingType1-r17    ENUMERATED {enabled}                                                    OPTIONAL,   -- Need R
    nrofHARQ-BundlingGroups-r17         ENUMERATED {n1, n2, n4}                                                 OPTIONAL,   -- Need R
    fdmed-ReceptionMulticast-r17        ENUMERATED {true}                                                       OPTIONAL,   -- Need R
    moreThanOneNackOnlyMode-r17         ENUMERATED {mode2}                                                      OPTIONAL,   -- Need S
    tci-ActivatedConfig-r17             TCI-ActivatedConfig-r17                                                 OPTIONAL,   -- Cond TCI_ActivatedConfig
    directionalCollisionHandling-DC-r17 ENUMERATED {enabled}                                                    OPTIONAL,   -- Need R
    lte-NeighCellsCRS-AssistInfoList-r17  SetupRelease { LTE-NeighCellsCRS-AssistInfoList-r17 }                 OPTIONAL    -- Need M
    ]],
    [[
    lte-NeighCellsCRS-Assumptions-r17   ENUMERATED {false}                                                      OPTIONAL    -- Need R
    ]]
}

UplinkConfig ::=                    SEQUENCE {
    initialUplinkBWP                    BWP-UplinkDedicated                                                     OPTIONAL,   -- Need M
    uplinkBWP-ToReleaseList             SEQUENCE (SIZE (1..maxNrofBWPs)) OF BWP-Id                              OPTIONAL,   -- Need N
    uplinkBWP-ToAddModList              SEQUENCE (SIZE (1..maxNrofBWPs)) OF BWP-Uplink                          OPTIONAL,   -- Need N
    firstActiveUplinkBWP-Id             BWP-Id                                                                  OPTIONAL,   -- Cond SyncAndCellAdd
    pusch-ServingCellConfig             SetupRelease { PUSCH-ServingCellConfig }                                OPTIONAL,   -- Need M
    carrierSwitching                    SetupRelease { SRS-CarrierSwitching }                                   OPTIONAL,   -- Need M
    ...,
    [[
    powerBoostPi2BPSK                   BOOLEAN                                                                 OPTIONAL,   -- Need M
    uplinkChannelBW-PerSCS-List         SEQUENCE (SIZE (1..maxSCSs)) OF SCS-SpecificCarrier                     OPTIONAL    -- Need S
    ]],
    [[
    enablePL-RS-UpdateForPUSCH-SRS-r16  ENUMERATED {enabled}                                                    OPTIONAL,   -- Need R
    enableDefaultBeamPL-ForPUSCH0-0-r16 ENUMERATED {enabled}                                                    OPTIONAL,   -- Need R
    enableDefaultBeamPL-ForPUCCH-r16    ENUMERATED {enabled}                                                    OPTIONAL,   -- Need R
    enableDefaultBeamPL-ForSRS-r16      ENUMERATED {enabled}                                                    OPTIONAL,   -- Need R
    uplinkTxSwitching-r16               SetupRelease { UplinkTxSwitching-r16 }                                  OPTIONAL,   -- Need M
    mpr-PowerBoost-FR2-r16              ENUMERATED {true}                                                       OPTIONAL    -- Need R
    ]]
}

DummyJ ::=                          SEQUENCE {
    maxEnergyDetectionThreshold-r16         INTEGER(-85..-52),
    energyDetectionThresholdOffset-r16      INTEGER (-20..-13),
    ul-toDL-COT-SharingED-Threshold-r16     INTEGER (-85..-52)                                                  OPTIONAL,   -- Need R
    absenceOfAnyOtherTechnology-r16         ENUMERATED {true}                                                   OPTIONAL    -- Need R
}

ChannelAccessConfig-r16 ::=         SEQUENCE {
    energyDetectionConfig-r16           CHOICE {
        maxEnergyDetectionThreshold-r16         INTEGER (-85..-52),
        energyDetectionThresholdOffset-r16      INTEGER (-13..20)
    }                                                                                                           OPTIONAL,   -- Need R
    ul-toDL-COT-SharingED-Threshold-r16         INTEGER (-85..-52)                                              OPTIONAL,   -- Need R
    absenceOfAnyOtherTechnology-r16             ENUMERATED {true}                                               OPTIONAL    -- Need R
}

IntraCellGuardBandsPerSCS-r16 ::=      SEQUENCE {
    guardBandSCS-r16                       SubcarrierSpacing,
    intraCellGuardBands-r16                SEQUENCE (SIZE (1..4)) OF GuardBand-r16
}

GuardBand-r16 ::=                      SEQUENCE {
     startCRB-r16                          INTEGER (0..274),
     nrofCRBs-r16                          INTEGER (0..15)
}

DormancyGroupID-r16 ::=         INTEGER (0..4)

DormantBWP-Config-r16 ::=               SEQUENCE {
    dormantBWP-Id-r16                      BWP-Id                                                           OPTIONAL,   -- Need M
    withinActiveTimeConfig-r16             SetupRelease { WithinActiveTimeConfig-r16 }                      OPTIONAL,   -- Need M
    outsideActiveTimeConfig-r16            SetupRelease { OutsideActiveTimeConfig-r16 }                     OPTIONAL    -- Need M
}

WithinActiveTimeConfig-r16 ::=         SEQUENCE {
   firstWithinActiveTimeBWP-Id-r16         BWP-Id                                                           OPTIONAL,   -- Need M
   dormancyGroupWithinActiveTime-r16       DormancyGroupID-r16                                              OPTIONAL    -- Need R
}

OutsideActiveTimeConfig-r16 ::=        SEQUENCE {
   firstOutsideActiveTimeBWP-Id-r16        BWP-Id                                                           OPTIONAL,   -- Need M
   dormancyGroupOutsideActiveTime-r16      DormancyGroupID-r16                                              OPTIONAL    -- Need R
}

UplinkTxSwitching-r16 ::=              SEQUENCE {
    uplinkTxSwitchingPeriodLocation-r16    BOOLEAN,
    uplinkTxSwitchingCarrier-r16           ENUMERATED {carrier1, carrier2}
}

MIMOParam-r17 ::= SEQUENCE {
    additionalPCI-ToAddModList-r17     SEQUENCE (SIZE(1..maxNrofAdditionalPCI-r17)) OF SSB-MTC-AdditionalPCI-r17  OPTIONAL,   -- Need N
    additionalPCI-ToReleaseList-r17    SEQUENCE (SIZE(1..maxNrofAdditionalPCI-r17)) OF AdditionalPCIIndex-r17     OPTIONAL,   -- Need N
    unifiedTCI-StateType-r17           ENUMERATED {separate, joint}                                         OPTIONAL,   -- Need R
    uplink-PowerControlToAddModList-r17  SEQUENCE (SIZE (1..maxUL-TCI-r17)) OF Uplink-powerControl-r17      OPTIONAL,   -- Need N
    uplink-PowerControlToReleaseList-r17 SEQUENCE (SIZE (1..maxUL-TCI-r17)) OF Uplink-powerControlId-r17    OPTIONAL,   -- Need N
    sfnSchemePDCCH-r17                 ENUMERATED {sfnSchemeA,sfnSchemeB}                                   OPTIONAL,   -- Need R
    sfnSchemePDSCH-r17                 ENUMERATED {sfnSchemeA,sfnSchemeB}                                   OPTIONAL    -- Need R

}

-- TAG-SERVINGCELLCONFIG-STOP
-- ASN1STOP

-- ASN1START

-- TAG-SERVINGCELLCONFIGCOMMON-START

ServingCellConfigCommon ::=         SEQUENCE {
    physCellId                          PhysCellId                                                          OPTIONAL,   -- Cond HOAndServCellAdd,
    downlinkConfigCommon                DownlinkConfigCommon                                                OPTIONAL,   -- Cond HOAndServCellAdd
    uplinkConfigCommon                  UplinkConfigCommon                                                  OPTIONAL,   -- Need M
    supplementaryUplinkConfig           UplinkConfigCommon                                                  OPTIONAL,   -- Need S
    n-TimingAdvanceOffset               ENUMERATED { n0, n25600, n39936 }                                   OPTIONAL,   -- Need S
    ssb-PositionsInBurst                CHOICE {
        shortBitmap                         BIT STRING (SIZE (4)),
        mediumBitmap                        BIT STRING (SIZE (8)),
        longBitmap                          BIT STRING (SIZE (64))
    }                                                                                                       OPTIONAL, -- Cond AbsFreqSSB
    ssb-periodicityServingCell          ENUMERATED { ms5, ms10, ms20, ms40, ms80, ms160, spare2, spare1 }   OPTIONAL, -- Need S
    dmrs-TypeA-Position                 ENUMERATED {pos2, pos3},
    lte-CRS-ToMatchAround               SetupRelease { RateMatchPatternLTE-CRS }                            OPTIONAL, -- Need M
    rateMatchPatternToAddModList        SEQUENCE (SIZE (1..maxNrofRateMatchPatterns)) OF RateMatchPattern   OPTIONAL, -- Need N
    rateMatchPatternToReleaseList       SEQUENCE (SIZE (1..maxNrofRateMatchPatterns)) OF RateMatchPatternId OPTIONAL, -- Need N
    ssbSubcarrierSpacing                SubcarrierSpacing                                                   OPTIONAL, -- Cond HOAndServCellWithSSB
    tdd-UL-DL-ConfigurationCommon       TDD-UL-DL-ConfigCommon                                              OPTIONAL, -- Cond TDD
    ss-PBCH-BlockPower                  INTEGER (-60..50),
    ...,
    [[
    channelAccessMode-r16               CHOICE {
        dynamic                             NULL,
        semiStatic                          SemiStaticChannelAccessConfig-r16
    }                                                                                                       OPTIONAL, -- Cond SharedSpectrum
    discoveryBurstWindowLength-r16          ENUMERATED {ms0dot5, ms1, ms2, ms3, ms4, ms5}                   OPTIONAL, -- Need R
    ssb-PositionQCL-r16                     SSB-PositionQCL-Relation-r16                                    OPTIONAL, -- Cond SharedSpectrum
    highSpeedConfig-r16                     HighSpeedConfig-r16                                             OPTIONAL  -- Need R
    ]],
    [[
    highSpeedConfig-v1700               HighSpeedConfig-v1700                                               OPTIONAL, -- Need R
    channelAccessMode2-r17              ENUMERATED {enabled}                                                OPTIONAL, -- Cond SharedSpectrum2
    discoveryBurstWindowLength-r17      ENUMERATED {ms0dot125, ms0dot25, ms0dot5, ms0dot75, ms1, ms1dot25}  OPTIONAL, -- Need R
    ssb-PositionQCL-r17                 SSB-PositionQCL-Relation-r17                                        OPTIONAL, -- Cond SharedSpectrum2
    highSpeedConfigFR2-r17              HighSpeedConfigFR2-r17                                              OPTIONAL, -- Need R
    uplinkConfigCommon-v1700            UplinkConfigCommon-v1700                                            OPTIONAL, -- Need R
    ntn-Config-r17                      NTN-Config-r17                                                      OPTIONAL  -- Need R
    ]],
    [[
    featurePriorities-r17               SEQUENCE {
        redCapPriority-r17                  FeaturePriority-r17                                             OPTIONAL, -- Need R
        slicingPriority-r17                 FeaturePriority-r17                                             OPTIONAL, -- Need R
        msg3-Repetitions-Priority-r17       FeaturePriority-r17                                             OPTIONAL, -- Need R
        sdt-Priority-r17                    FeaturePriority-r17                                             OPTIONAL  -- Need R
    }                                                                                                       OPTIONAL  -- Need R
    ]],
    [[
    ra-ChannelAccess-r17            ENUMERATED {enabled}                                                OPTIONAL -- Cond SharedSpectrum2
    ]]
}

-- TAG-SERVINGCELLCONFIGCOMMON-STOP
-- ASN1STOP

-- ASN1START

-- TAG-SERVINGCELLCONFIGCOMMONSIB-START

ServingCellConfigCommonSIB ::=      SEQUENCE {
    downlinkConfigCommon                DownlinkConfigCommonSIB,
    uplinkConfigCommon                  UplinkConfigCommonSIB                                       OPTIONAL, -- Need R
    supplementaryUplink                 UplinkConfigCommonSIB                                       OPTIONAL, -- Need R
    n-TimingAdvanceOffset               ENUMERATED { n0, n25600, n39936 }                           OPTIONAL, -- Need S
    ssb-PositionsInBurst                SEQUENCE {
        inOneGroup                          BIT STRING (SIZE (8)),
        groupPresence                       BIT STRING (SIZE (8))                                   OPTIONAL  -- Cond FR2-Only
    },
    ssb-PeriodicityServingCell          ENUMERATED {ms5, ms10, ms20, ms40, ms80, ms160},
    tdd-UL-DL-ConfigurationCommon       TDD-UL-DL-ConfigCommon                                      OPTIONAL, -- Cond TDD
    ss-PBCH-BlockPower                  INTEGER (-60..50),
    ...,
    [[
    channelAccessMode-r16               CHOICE {
        dynamic                             NULL,
        semiStatic                          SemiStaticChannelAccessConfig-r16
    }                                                                                               OPTIONAL, -- Cond SharedSpectrum
    discoveryBurstWindowLength-r16      ENUMERATED {ms0dot5, ms1, ms2, ms3, ms4, ms5}               OPTIONAL, -- Need R
    highSpeedConfig-r16                 HighSpeedConfig-r16                                         OPTIONAL  -- Need R
    ]],
    [[
    channelAccessMode2-r17              ENUMERATED {enabled}                                        OPTIONAL, -- Cond SharedSpectrum2
    discoveryBurstWindowLength-v1700    ENUMERATED {ms0dot125, ms0dot25, ms0dot5, ms0dot75, ms1, ms1dot25} OPTIONAL,  -- Need R
    highSpeedConfigFR2-r17              HighSpeedConfigFR2-r17                                      OPTIONAL, -- Need R
    uplinkConfigCommon-v1700            UplinkConfigCommonSIB-v1700                                 OPTIONAL  -- Need R
    ]],
    [[
    enhancedMeasurementLEO-r17          ENUMERATED {true}                                           OPTIONAL  -- Need R
    ]],
    [[
    ra-ChannelAccess-r17                ENUMERATED {enabled}                                        OPTIONAL  -- Cond SharedSpectrum2
    ]]
}

-- TAG-SERVINGCELLCONFIGCOMMONSIB-STOP
-- ASN1STOP

-- ASN1START

-- TAG-SHORTI-RNTI-VALUE-START

ShortI-RNTI-Value ::=   BIT STRING (SIZE(24))

-- TAG-SHORTI-RNTI-VALUE-STOP
-- ASN1STOP

-- ASN1START

-- TAG-SHORTMAC-I-START

ShortMAC-I ::=                      BIT STRING (SIZE (16))

-- TAG-SHORTMAC-I-STOP
-- ASN1STOP

-- ASN1START

-- TAG-SINR-RANGE-START

SINR-Range ::=                      INTEGER(0..127)

-- TAG-SINR-RANGE-STOP
-- ASN1STOP

-- ASN1START

-- TAG-SI-REQUESTCONFIG-START

SI-RequestConfig ::=                SEQUENCE {
    rach-OccasionsSI                    SEQUENCE {
        rach-ConfigSI                       RACH-ConfigGeneric,
        ssb-perRACH-Occasion                ENUMERATED {oneEighth, oneFourth, oneHalf, one, two, four, eight, sixteen}
    }                                                                                                       OPTIONAL,   -- Need R
    si-RequestPeriod                    ENUMERATED {one, two, four, six, eight, ten, twelve, sixteen}       OPTIONAL,   -- Need R
    si-RequestResources                 SEQUENCE (SIZE (1..maxSI-Message)) OF SI-RequestResources
}

SI-RequestResources ::=             SEQUENCE {
    ra-PreambleStartIndex               INTEGER (0..63),
    ra-AssociationPeriodIndex           INTEGER (0..15)                                                     OPTIONAL,   -- Need R
    ra-ssb-OccasionMaskIndex            INTEGER (0..15)                                                     OPTIONAL    -- Need R
}

-- TAG-SI-REQUESTCONFIG-STOP
-- ASN1STOP

-- ASN1START

-- TAG-SI-SCHEDULINGINFO-START

SI-SchedulingInfo ::=               SEQUENCE {
    schedulingInfoList                  SEQUENCE (SIZE (1..maxSI-Message)) OF SchedulingInfo,
    si-WindowLength                     ENUMERATED {s5, s10, s20, s40, s80, s160, s320, s640, s1280, s2560-v1710, s5120-v1710 },
    si-RequestConfig                    SI-RequestConfig                                                OPTIONAL,  -- Cond MSG-1
    si-RequestConfigSUL                 SI-RequestConfig                                                OPTIONAL,  -- Cond SUL-MSG-1
    systemInformationAreaID             BIT STRING (SIZE (24))                                          OPTIONAL,  -- Need R
    ...
}

SchedulingInfo ::=                  SEQUENCE {
    si-BroadcastStatus                  ENUMERATED {broadcasting, notBroadcasting},
    si-Periodicity                      ENUMERATED {rf8, rf16, rf32, rf64, rf128, rf256, rf512},
    sib-MappingInfo                     SIB-Mapping
}

SI-SchedulingInfo-v1700 ::=         SEQUENCE {
    schedulingInfoList2-r17             SEQUENCE (SIZE (1..maxSI-Message)) OF SchedulingInfo2-r17,
    dummy                              SI-RequestConfig                                                OPTIONAL
}

SI-SchedulingInfo-v1740 ::=         SEQUENCE {
    si-RequestConfigRedCap-r17          SI-RequestConfig                                                OPTIONAL   -- Cond REDCAP-MSG-1
}

SchedulingInfo2-r17 ::=             SEQUENCE {
    si-BroadcastStatus-r17              ENUMERATED {broadcasting, notBroadcasting},
    si-WindowPosition-r17               INTEGER (1..256),
    si-Periodicity-r17                  ENUMERATED {rf8, rf16, rf32, rf64, rf128, rf256, rf512},
    sib-MappingInfo-r17                 SIB-Mapping-v1700
}

SIB-Mapping ::=                     SEQUENCE (SIZE (1..maxSIB)) OF SIB-TypeInfo

SIB-Mapping-v1700 ::=              SEQUENCE (SIZE (1..maxSIB)) OF SIB-TypeInfo-v1700

SIB-TypeInfo ::=                    SEQUENCE {
    type                                ENUMERATED {sibType2, sibType3, sibType4, sibType5, sibType6, sibType7, sibType8, sibType9,
                                                     sibType10-v1610, sibType11-v1610, sibType12-v1610, sibType13-v1610,
                                                     sibType14-v1610, spare3, spare2, spare1,... },
    valueTag                            INTEGER (0..31)                                                 OPTIONAL, -- Cond SIB-TYPE
    areaScope                           ENUMERATED {true}                                               OPTIONAL -- Need S
}

SIB-TypeInfo-v1700 ::=              SEQUENCE {
    sibType-r17                         CHOICE {
        type1-r17                           ENUMERATED {sibType15, sibType16, sibType17, sibType18, sibType19, sibType20, sibType21,
                                                        spare9, spare8, spare7, spare6, spare5, spare4, spare3, spare2, spare1,...},
        type2-r17                           SEQUENCE {
            posSibType-r17                      ENUMERATED {posSibType1-9, posSibType1-10, posSibType2-24, posSibType2-25,
                                                            posSibType6-4, posSibType6-5, posSibType6-6, spare9, spare8, spare7, spare6,
                                                            spare5, spare4, spare3, spare2, spare1,...},
            encrypted-r17                       ENUMERATED { true }                                     OPTIONAL, -- Need R
            gnss-id-r17                         GNSS-ID-r16                                             OPTIONAL, -- Need R
            sbas-id-r17                         SBAS-ID-r16                                             OPTIONAL  -- Need R
        }
    },
    valueTag-r17                            INTEGER (0..31)                                             OPTIONAL, -- Cond NonPosSIB
    areaScope-r17                           ENUMERATED {true}                                           OPTIONAL  -- Need S
}

-- TAG-SI-SCHEDULINGINFO-STOP
-- ASN1STOP

-- ASN1START

-- TAG-SKCOUNTER-START

SK-Counter ::=  INTEGER (0..65535)

-- TAG-SKCOUNTER-STOP
-- ASN1STOP

-- ASN1START

-- TAG-SLOTFORMATCOMBINATIONSPERCELL-START

SlotFormatCombinationsPerCell ::=   SEQUENCE {
    servingCellId                       ServCellIndex,
    subcarrierSpacing                   SubcarrierSpacing,
    subcarrierSpacing2                  SubcarrierSpacing                                                         OPTIONAL, -- Need R
    slotFormatCombinations              SEQUENCE (SIZE (1..maxNrofSlotFormatCombinationsPerSet)) OF SlotFormatCombination
                                                                                                                  OPTIONAL, -- Need M
    positionInDCI                       INTEGER(0..maxSFI-DCI-PayloadSize-1)                                      OPTIONAL, -- Need M
    ...,
    [[
    enableConfiguredUL-r16              ENUMERATED {enabled}                                                      OPTIONAL  -- Need R
    ]]

}

SlotFormatCombination ::=           SEQUENCE {
    slotFormatCombinationId             SlotFormatCombinationId,
    slotFormats                         SEQUENCE (SIZE (1..maxNrofSlotFormatsPerCombination)) OF INTEGER (0..255)
}

SlotFormatCombinationId ::=         INTEGER (0..maxNrofSlotFormatCombinationsPerSet-1)

-- TAG-SLOTFORMATCOMBINATIONSPERCELL-STOP
-- ASN1STOP

-- ASN1START

-- TAG-SLOTFORMATINDICATOR-START

SlotFormatIndicator ::=     SEQUENCE {
    sfi-RNTI                    RNTI-Value,
    dci-PayloadSize             INTEGER (1..maxSFI-DCI-PayloadSize),
    slotFormatCombToAddModList  SEQUENCE (SIZE(1..maxNrofAggregatedCellsPerCellGroup)) OF SlotFormatCombinationsPerCell
                                                                                                                              OPTIONAL, -- Need N
    slotFormatCombToReleaseList SEQUENCE (SIZE(1..maxNrofAggregatedCellsPerCellGroup)) OF ServCellIndex                       OPTIONAL, -- Need N
    ...,
    [[
    availableRB-SetsToAddModList-r16  SEQUENCE (SIZE(1..maxNrofAggregatedCellsPerCellGroup)) OF AvailableRB-SetsPerCell-r16   OPTIONAL, -- Need N
    availableRB-SetsToReleaseList-r16 SEQUENCE (SIZE(1..maxNrofAggregatedCellsPerCellGroup)) OF ServCellIndex                 OPTIONAL, -- Need N
    switchTriggerToAddModList-r16     SEQUENCE (SIZE(1..4)) OF SearchSpaceSwitchTrigger-r16                                   OPTIONAL, -- Need N
    switchTriggerToReleaseList-r16    SEQUENCE (SIZE(1..4)) OF ServCellIndex                                                  OPTIONAL, -- Need N
    co-DurationsPerCellToAddModList-r16 SEQUENCE (SIZE(1..maxNrofAggregatedCellsPerCellGroup)) OF CO-DurationsPerCell-r16     OPTIONAL, -- Need N
    co-DurationsPerCellToReleaseList-r16 SEQUENCE (SIZE(1..maxNrofAggregatedCellsPerCellGroup)) OF ServCellIndex              OPTIONAL  -- Need N
    ]],
    [[
    switchTriggerToAddModListSizeExt-r16   SEQUENCE (SIZE(1..maxNrofAggregatedCellsPerCellGroupMinus4-r16)) OF
        SearchSpaceSwitchTrigger-r16  OPTIONAL, -- Need N
    switchTriggerToReleaseListSizeExt-r16  SEQUENCE (SIZE(1..maxNrofAggregatedCellsPerCellGroupMinus4-r16)) OF
        ServCellIndex                 OPTIONAL  -- Need N
    ]],
    [[
    co-DurationsPerCellToAddModList-r17 SEQUENCE (SIZE(1..maxNrofAggregatedCellsPerCellGroup)) OF CO-DurationsPerCell-r17 OPTIONAL  -- Need N
    ]]
}

CO-DurationsPerCell-r16 ::=   SEQUENCE {
    servingCellId-r16             ServCellIndex,
    positionInDCI-r16             INTEGER(0..maxSFI-DCI-PayloadSize-1),
    subcarrierSpacing-r16         SubcarrierSpacing,
    co-DurationList-r16           SEQUENCE (SIZE(1..64)) OF CO-Duration-r16
}

CO-DurationsPerCell-r17 ::=   SEQUENCE {
    servingCellId-r17             ServCellIndex,
    positionInDCI-r17             INTEGER(0..maxSFI-DCI-PayloadSize-1),
    subcarrierSpacing-r17         SubcarrierSpacing,
    co-DurationList-r17           SEQUENCE (SIZE(1..64)) OF CO-Duration-r17
}

CO-Duration-r16 ::=    INTEGER (0..1120)
CO-Duration-r17 ::=    INTEGER (0..4480)

AvailableRB-SetsPerCell-r16 ::=   SEQUENCE {
    servingCellId-r16                 ServCellIndex,
    positionInDCI-r16                 INTEGER(0..maxSFI-DCI-PayloadSize-1)
}

SearchSpaceSwitchTrigger-r16 ::=   SEQUENCE {
    servingCellId-r16                  ServCellIndex,
    positionInDCI-r16                  INTEGER(0..maxSFI-DCI-PayloadSize-1)
}

-- TAG-SLOTFORMATINDICATOR-STOP
-- ASN1STOP

-- ASN1START

-- TAG-S-NSSAI-START

S-NSSAI ::=                        CHOICE{
    sst                                 BIT STRING (SIZE (8)),
    sst-SD                              BIT STRING (SIZE (32))
}

-- TAG-S-NSSAI-STOP
-- ASN1STOP

-- ASN1START

-- TAG-SPEEDSTATESCALEFACTORS-START

SpeedStateScaleFactors ::=          SEQUENCE {
    sf-Medium                           ENUMERATED {oDot25, oDot5, oDot75, lDot0},
    sf-High                             ENUMERATED {oDot25, oDot5, oDot75, lDot0}
}
-- TAG-SPEEDSTATESCALEFACTORS-STOP
-- ASN1STOP

-- ASN1START

-- TAG-SPS-CONFIG-START

SPS-Config ::=                  SEQUENCE {
    periodicity                     ENUMERATED {ms10, ms20, ms32, ms40, ms64, ms80, ms128, ms160, ms320, ms640,
                                                        spare6, spare5, spare4, spare3, spare2, spare1},
    nrofHARQ-Processes              INTEGER (1..8),
    n1PUCCH-AN                      PUCCH-ResourceId                                                            OPTIONAL,   -- Need M
    mcs-Table                       ENUMERATED {qam64LowSE}                                                     OPTIONAL,   -- Need S
    ...,
    [[
    sps-ConfigIndex-r16             SPS-ConfigIndex-r16                                                         OPTIONAL,   -- Cond SPS-List
    harq-ProcID-Offset-r16          INTEGER (0..15)                                                             OPTIONAL,   -- Need R
    periodicityExt-r16              INTEGER (1..5120)                                                           OPTIONAL,   -- Need R
    harq-CodebookID-r16             INTEGER (1..2)                                                              OPTIONAL,   -- Need R
    pdsch-AggregationFactor-r16     ENUMERATED {n1, n2, n4, n8 }                                                OPTIONAL    -- Need S
    ]],
    [[
    sps-HARQ-Deferral-r17           INTEGER (1..32)                                                             OPTIONAL,   -- Need R
    n1PUCCH-AN-PUCCHsSCell-r17      PUCCH-ResourceId                                                            OPTIONAL,   -- Need R
    periodicityExt-r17              INTEGER (1..40960)                                                          OPTIONAL,   -- Need R
    nrofHARQ-Processes-v1710        INTEGER(9..32)                                                              OPTIONAL,   -- Need R
    harq-ProcID-Offset-v1700        INTEGER (16..31)                                                            OPTIONAL    -- Need R
    ]]
}

-- TAG-SPS-CONFIG-STOP
-- ASN1STOP

-- ASN1START

-- TAG-SPS-CONFIGINDEX-START

SPS-ConfigIndex-r16 ::= INTEGER (0..maxNrofSPS-Config-1-r16)

-- TAG-SPS-CONFIGINDEX-STOP
-- ASN1STOP

-- ASN1START

-- TAG-SPS-PUCCH-AN-START

SPS-PUCCH-AN-r16 ::=           SEQUENCE {
    sps-PUCCH-AN-ResourceID-r16     PUCCH-ResourceId,
    maxPayloadSize-r16              INTEGER (4..256)                     OPTIONAL    -- Need R
}

-- TAG-SPS-PUCCH-AN-STOP
-- ASN1STOP

-- ASN1START

-- TAG-SPS-PUCCH-AN-LIST-START

SPS-PUCCH-AN-List-r16 ::=      SEQUENCE (SIZE(1..4)) OF SPS-PUCCH-AN-r16

-- TAG-SPS-PUCCH-AN-LIST-STOP
-- ASN1STOP

-- ASN1START

-- TAG-SRB-IDENTITY-START

SRB-Identity ::=                    INTEGER (1..3)

SRB-Identity-v1700 ::=              INTEGER (4)

-- TAG-SRB-IDENTITY-STOP
-- ASN1STOP

-- ASN1START

-- TAG-SRS-CARRIERSWITCHING-START

SRS-CarrierSwitching ::=            SEQUENCE {
    srs-SwitchFromServCellIndex         INTEGER (0..31)                                                         OPTIONAL,   -- Need M
    srs-SwitchFromCarrier               ENUMERATED {sUL, nUL},
    srs-TPC-PDCCH-Group                 CHOICE {
        typeA                               SEQUENCE (SIZE (1..32)) OF SRS-TPC-PDCCH-Config,
        typeB                               SRS-TPC-PDCCH-Config
    }                                                                                                           OPTIONAL,   -- Need M
    monitoringCells                     SEQUENCE (SIZE (1..maxNrofServingCells)) OF ServCellIndex               OPTIONAL,   -- Need M
    ...
}

SRS-TPC-PDCCH-Config ::=            SEQUENCE {
    srs-CC-SetIndexlist                 SEQUENCE (SIZE(1..4)) OF SRS-CC-SetIndex                                OPTIONAL    -- Need M
}

SRS-CC-SetIndex ::=                 SEQUENCE {
    cc-SetIndex                         INTEGER (0..3)                                                          OPTIONAL,   -- Need M
    cc-IndexInOneCC-Set                 INTEGER (0..7)                                                          OPTIONAL    -- Need M
}

-- TAG-SRS-CARRIERSWITCHING-STOP
-- ASN1STOP

-- ASN1START

-- TAG-SRS-CONFIG-START

SRS-Config ::=                          SEQUENCE {
    srs-ResourceSetToReleaseList            SEQUENCE (SIZE(1..maxNrofSRS-ResourceSets)) OF SRS-ResourceSetId        OPTIONAL,   -- Need N
    srs-ResourceSetToAddModList             SEQUENCE (SIZE(1..maxNrofSRS-ResourceSets)) OF SRS-ResourceSet          OPTIONAL,   -- Need N
    srs-ResourceToReleaseList               SEQUENCE (SIZE(1..maxNrofSRS-Resources)) OF SRS-ResourceId              OPTIONAL,   -- Need N
    srs-ResourceToAddModList                SEQUENCE (SIZE(1..maxNrofSRS-Resources)) OF SRS-Resource                OPTIONAL,   -- Need N
    tpc-Accumulation                        ENUMERATED {disabled}                                                   OPTIONAL,   -- Need S
    ...,
    [[
    srs-RequestDCI-1-2-r16                  INTEGER (1..2)                                                          OPTIONAL, -- Need S
    srs-RequestDCI-0-2-r16                  INTEGER (1..2)                                                          OPTIONAL, -- Need S
    srs-ResourceSetToAddModListDCI-0-2-r16  SEQUENCE (SIZE(1..maxNrofSRS-ResourceSets)) OF SRS-ResourceSet          OPTIONAL, -- Need N
    srs-ResourceSetToReleaseListDCI-0-2-r16 SEQUENCE (SIZE(1..maxNrofSRS-ResourceSets)) OF SRS-ResourceSetId        OPTIONAL, -- Need N
    srs-PosResourceSetToReleaseList-r16     SEQUENCE (SIZE(1..maxNrofSRS-PosResourceSets-r16)) OF SRS-PosResourceSetId-r16
                                                                                                                    OPTIONAL, -- Need N
    srs-PosResourceSetToAddModList-r16      SEQUENCE (SIZE(1..maxNrofSRS-PosResourceSets-r16)) OF SRS-PosResourceSet-r16        OPTIONAL,-- Need N
    srs-PosResourceToReleaseList-r16        SEQUENCE (SIZE(1..maxNrofSRS-PosResources-r16)) OF SRS-PosResourceId-r16            OPTIONAL,-- Need N
    srs-PosResourceToAddModList-r16         SEQUENCE (SIZE(1..maxNrofSRS-PosResources-r16)) OF SRS-PosResource-r16              OPTIONAL -- Need N
    ]]
}

SRS-ResourceSet ::=                     SEQUENCE {
    srs-ResourceSetId                       SRS-ResourceSetId,
    srs-ResourceIdList                      SEQUENCE (SIZE(1..maxNrofSRS-ResourcesPerSet)) OF SRS-ResourceId    OPTIONAL, -- Cond Setup
    resourceType                            CHOICE {
        aperiodic                               SEQUENCE {
            aperiodicSRS-ResourceTrigger            INTEGER (1..maxNrofSRS-TriggerStates-1),
            csi-RS                                  NZP-CSI-RS-ResourceId                                  OPTIONAL, -- Cond NonCodebook
            slotOffset                              INTEGER (1..32)                                        OPTIONAL, -- Need S
            ...,
            [[
            aperiodicSRS-ResourceTriggerList            SEQUENCE (SIZE(1..maxNrofSRS-TriggerStates-2))
                                                            OF INTEGER (1..maxNrofSRS-TriggerStates-1)     OPTIONAL  -- Need M
            ]]
        },
        semi-persistent                         SEQUENCE {
            associatedCSI-RS                        NZP-CSI-RS-ResourceId                                  OPTIONAL, -- Cond NonCodebook
            ...
        },
        periodic                                SEQUENCE {
            associatedCSI-RS                        NZP-CSI-RS-ResourceId                                  OPTIONAL, -- Cond NonCodebook
            ...
        }
    },
    usage                                   ENUMERATED {beamManagement, codebook, nonCodebook, antennaSwitching},
    alpha                                   Alpha                                                          OPTIONAL, -- Need S
    p0                                      INTEGER (-202..24)                                             OPTIONAL, -- Cond Setup
    pathlossReferenceRS                     PathlossReferenceRS-Config                                     OPTIONAL, -- Need M
    srs-PowerControlAdjustmentStates        ENUMERATED { sameAsFci2, separateClosedLoop}                   OPTIONAL, -- Need S
    ...,
    [[
    pathlossReferenceRSList-r16             SetupRelease { PathlossReferenceRSList-r16}                    OPTIONAL  -- Need M
    ]],
    [[
    usagePDC-r17                            ENUMERATED {true}                                              OPTIONAL, -- Need R
    availableSlotOffsetList-r17             SEQUENCE (SIZE(1..4)) OF AvailableSlotOffset-r17               OPTIONAL, -- Need R
    followUnifiedTCI-StateSRS-r17           ENUMERATED {enabled}                                           OPTIONAL  -- Need R
    ]]
}

AvailableSlotOffset-r17 ::=   INTEGER (0..7)

PathlossReferenceRS-Config ::=              CHOICE {
    ssb-Index                                   SSB-Index,
    csi-RS-Index                                NZP-CSI-RS-ResourceId
}

PathlossReferenceRSList-r16 ::=             SEQUENCE (SIZE (1..maxNrofSRS-PathlossReferenceRS-r16)) OF PathlossReferenceRS-r16

PathlossReferenceRS-r16 ::=                 SEQUENCE {
    srs-PathlossReferenceRS-Id-r16              SRS-PathlossReferenceRS-Id-r16,
    pathlossReferenceRS-r16                     PathlossReferenceRS-Config
}

SRS-PathlossReferenceRS-Id-r16 ::=          INTEGER (0..maxNrofSRS-PathlossReferenceRS-1-r16)

SRS-PosResourceSet-r16 ::=                  SEQUENCE {
    srs-PosResourceSetId-r16                    SRS-PosResourceSetId-r16,
    srs-PosResourceIdList-r16                   SEQUENCE (SIZE(1..maxNrofSRS-ResourcesPerSet)) OF SRS-PosResourceId-r16
                                                                                                           OPTIONAL, -- Cond Setup
    resourceType-r16                            CHOICE {
        aperiodic-r16                               SEQUENCE {
            aperiodicSRS-ResourceTriggerList-r16        SEQUENCE (SIZE(1..maxNrofSRS-TriggerStates-1))
                                                            OF INTEGER (1..maxNrofSRS-TriggerStates-1)     OPTIONAL, -- Need M
            ...
        },
        semi-persistent-r16                         SEQUENCE {
            ...
        },
        periodic-r16                                SEQUENCE {
            ...
        }
    },
    alpha-r16                                   Alpha                                                      OPTIONAL, -- Need S
    p0-r16                                      INTEGER (-202..24)                                         OPTIONAL, -- Cond Setup
    pathlossReferenceRS-Pos-r16                 CHOICE {
        ssb-IndexServing-r16                        SSB-Index,
        ssb-Ncell-r16                               SSB-InfoNcell-r16,
        dl-PRS-r16                                  DL-PRS-Info-r16
    }                                                                                                      OPTIONAL, -- Need M
    ...
}

SRS-ResourceSetId ::=                   INTEGER (0..maxNrofSRS-ResourceSets-1)

SRS-PosResourceSetId-r16 ::=            INTEGER (0..maxNrofSRS-PosResourceSets-1-r16)

SRS-Resource ::=                        SEQUENCE {
    srs-ResourceId                          SRS-ResourceId,
    nrofSRS-Ports                           ENUMERATED {port1, ports2, ports4},
    ptrs-PortIndex                          ENUMERATED {n0, n1 }                                           OPTIONAL,   -- Need R
    transmissionComb                        CHOICE {
        n2                                      SEQUENCE {
            combOffset-n2                           INTEGER (0..1),
            cyclicShift-n2                          INTEGER (0..7)
        },
        n4                                      SEQUENCE {
            combOffset-n4                           INTEGER (0..3),
            cyclicShift-n4                          INTEGER (0..11)
        }
    },
    resourceMapping                         SEQUENCE {
        startPosition                           INTEGER (0..5),
        nrofSymbols                             ENUMERATED {n1, n2, n4},
        repetitionFactor                        ENUMERATED {n1, n2, n4}
    },
    freqDomainPosition                      INTEGER (0..67),
    freqDomainShift                         INTEGER (0..268),
    freqHopping                             SEQUENCE {
        c-SRS                                   INTEGER (0..63),
        b-SRS                                   INTEGER (0..3),
        b-hop                                   INTEGER (0..3)
    },
    groupOrSequenceHopping                  ENUMERATED { neither, groupHopping, sequenceHopping },
    resourceType                            CHOICE {
        aperiodic                               SEQUENCE {
            ...
        },
        semi-persistent                         SEQUENCE {
            periodicityAndOffset-sp                     SRS-PeriodicityAndOffset,
            ...
        },
        periodic                                SEQUENCE {
            periodicityAndOffset-p                      SRS-PeriodicityAndOffset,
            ...
        }
    },
    sequenceId                              INTEGER (0..1023),
    spatialRelationInfo                     SRS-SpatialRelationInfo                                        OPTIONAL,   -- Need R
    ...,
    [[
    resourceMapping-r16                     SEQUENCE {
        startPosition-r16                       INTEGER (0..13),
        nrofSymbols-r16                         ENUMERATED {n1, n2, n4},
        repetitionFactor-r16                    ENUMERATED {n1, n2, n4}
    }                                                                                                      OPTIONAL    -- Need R
    ]],
    [[
    spatialRelationInfo-PDC-r17             SetupRelease { SpatialRelationInfo-PDC-r17 }                   OPTIONAL,   -- Need M
    resourceMapping-r17                     SEQUENCE {
        startPosition-r17                       INTEGER (0..13),
        nrofSymbols-r17                         ENUMERATED {n1, n2, n4, n8, n10, n12, n14},
        repetitionFactor-r17                    ENUMERATED {n1, n2, n4, n5, n6, n7, n8, n10, n12, n14}
    }                                                                                                      OPTIONAL,   -- Need R
    partialFreqSounding-r17                 SEQUENCE {
        startRBIndexFScaling-r17                CHOICE{
            startRBIndexAndFreqScalingFactor2-r17   INTEGER (0..1),
            startRBIndexAndFreqScalingFactor4-r17   INTEGER (0..3)
        },
        enableStartRBHopping-r17                ENUMERATED {enable}                                        OPTIONAL    -- Need R
    }                                                                                                      OPTIONAL,   -- Need R
    transmissionComb-n8-r17                 SEQUENCE {
        combOffset-n8-r17                       INTEGER (0..7),
        cyclicShift-n8-r17                      INTEGER (0..5)
    }                                                                                                      OPTIONAL,   -- Need R
    srs-TCI-State-r17                       CHOICE {
        srs-UL-TCI-State                        TCI-UL-StateId-r17,
        srs-DLorJointTCI-State                  TCI-StateId
    }                                                                                                      OPTIONAL    -- Need R
    ]],
    [[
    repetitionFactor-v1730                  ENUMERATED {n3}                                                OPTIONAL,   -- Need R
    srs-DLorJointTCI-State-v1730            SEQUENCE {
        cellAndBWP-r17                          ServingCellAndBWP-Id-r17
    }                                                                                                 OPTIONAL -- Cond DLorJointTCI-SRS
    ]]
}

SRS-PosResource-r16 ::=                  SEQUENCE {
    srs-PosResourceId-r16                   SRS-PosResourceId-r16,
    transmissionComb-r16                    CHOICE {
        n2-r16                                  SEQUENCE {
            combOffset-n2-r16                       INTEGER (0..1),
            cyclicShift-n2-r16                      INTEGER (0..7)
        },
        n4-r16                                  SEQUENCE {
            combOffset-n4-r16                        INTEGER (0..3),
            cyclicShift-n4-r16                      INTEGER (0..11)
        },
        n8-r16                                  SEQUENCE {
            combOffset-n8-r16                       INTEGER (0..7),
            cyclicShift-n8-r16                      INTEGER (0..5)
        },
    ...
    },
    resourceMapping-r16                       SEQUENCE {
        startPosition-r16                           INTEGER (0..13),
        nrofSymbols-r16                             ENUMERATED {n1, n2, n4, n8, n12}
    },
    freqDomainShift-r16                       INTEGER (0..268),
    freqHopping-r16                           SEQUENCE {
        c-SRS-r16                                 INTEGER (0..63),
        ...
    },
    groupOrSequenceHopping-r16                ENUMERATED { neither, groupHopping, sequenceHopping },
    resourceType-r16                          CHOICE {
        aperiodic-r16                             SEQUENCE {
            slotOffset-r16                            INTEGER (1..32)                                      OPTIONAL,   -- Need S
            ...
        },
        semi-persistent-r16                       SEQUENCE {
            periodicityAndOffset-sp-r16               SRS-PeriodicityAndOffset-r16,
            ...,
            [[
            periodicityAndOffset-sp-Ext-r16           SRS-PeriodicityAndOffsetExt-r16                      OPTIONAL    -- Need R
            ]]
        },
        periodic-r16                              SEQUENCE {
            periodicityAndOffset-p-r16                SRS-PeriodicityAndOffset-r16,
            ...,
            [[
            periodicityAndOffset-p-Ext-r16            SRS-PeriodicityAndOffsetExt-r16                      OPTIONAL    -- Need R
            ]]
        }
    },
    sequenceId-r16                            INTEGER (0..65535),
    spatialRelationInfoPos-r16                SRS-SpatialRelationInfoPos-r16                               OPTIONAL,   -- Need R
    ...
}

SRS-SpatialRelationInfo ::=     SEQUENCE {
    servingCellId                       ServCellIndex                                                      OPTIONAL,   -- Need S
    referenceSignal                     CHOICE {
        ssb-Index                           SSB-Index,
        csi-RS-Index                        NZP-CSI-RS-ResourceId,
        srs                                 SEQUENCE {
            resourceId                          SRS-ResourceId,
            uplinkBWP                           BWP-Id
        }
    }
}

SRS-SpatialRelationInfoPos-r16 ::=      CHOICE {
    servingRS-r16                           SEQUENCE {
        servingCellId                           ServCellIndex                                              OPTIONAL,   -- Need S
        referenceSignal-r16                     CHOICE {
            ssb-IndexServing-r16                    SSB-Index,
            csi-RS-IndexServing-r16                 NZP-CSI-RS-ResourceId,
            srs-SpatialRelation-r16                 SEQUENCE {
                resourceSelection-r16                   CHOICE {
                    srs-ResourceId-r16                      SRS-ResourceId,
                    srs-PosResourceId-r16                   SRS-PosResourceId-r16
                },
                uplinkBWP-r16                           BWP-Id
            }
        }
    },
    ssb-Ncell-r16                           SSB-InfoNcell-r16,
    dl-PRS-r16                              DL-PRS-Info-r16
}

SSB-Configuration-r16 ::=          SEQUENCE {
    ssb-Freq-r16                     ARFCN-ValueNR,
    halfFrameIndex-r16                  ENUMERATED {zero, one},
    ssbSubcarrierSpacing-r16            SubcarrierSpacing,
    ssb-Periodicity-r16                 ENUMERATED { ms5, ms10, ms20, ms40, ms80, ms160, spare2,spare1 }   OPTIONAL, -- Need S
    sfn0-Offset-r16                     SEQUENCE {
        sfn-Offset-r16                      INTEGER (0..1023),
        integerSubframeOffset-r16           INTEGER (0..9)                                                 OPTIONAL  -- Need R
    }                                                                                                      OPTIONAL, -- Need R
    sfn-SSB-Offset-r16                  INTEGER (0..15),
    ss-PBCH-BlockPower-r16              INTEGER (-60..50)                                                  OPTIONAL  -- Cond Pathloss
}

SSB-InfoNcell-r16 ::=              SEQUENCE {
    physicalCellId-r16                  PhysCellId,
    ssb-IndexNcell-r16                  SSB-Index                                                          OPTIONAL, -- Need S
    ssb-Configuration-r16               SSB-Configuration-r16                                              OPTIONAL  -- Need S
}

DL-PRS-Info-r16 ::=                SEQUENCE {
    dl-PRS-ID-r16                      INTEGER (0..255),
    dl-PRS-ResourceSetId-r16           INTEGER (0..7),
    dl-PRS-ResourceId-r16              INTEGER (0..63)                                                     OPTIONAL  -- Need S
}

SRS-ResourceId ::=                      INTEGER (0..maxNrofSRS-Resources-1)
SRS-PosResourceId-r16 ::=               INTEGER (0..maxNrofSRS-PosResources-1-r16)

SRS-PeriodicityAndOffset ::=            CHOICE {
    sl1                                     NULL,
    sl2                                     INTEGER(0..1),
    sl4                                     INTEGER(0..3),
    sl5                                     INTEGER(0..4),
    sl8                                     INTEGER(0..7),
    sl10                                    INTEGER(0..9),
    sl16                                    INTEGER(0..15),
    sl20                                    INTEGER(0..19),
    sl32                                    INTEGER(0..31),
    sl40                                    INTEGER(0..39),
    sl64                                    INTEGER(0..63),
    sl80                                    INTEGER(0..79),
    sl160                                   INTEGER(0..159),
    sl320                                   INTEGER(0..319),
    sl640                                   INTEGER(0..639),
    sl1280                                  INTEGER(0..1279),
    sl2560                                  INTEGER(0..2559)
}

SRS-PeriodicityAndOffset-r16 ::=        CHOICE {
    sl1                                     NULL,
    sl2                                     INTEGER(0..1),
    sl4                                     INTEGER(0..3),
    sl5                                     INTEGER(0..4),
    sl8                                     INTEGER(0..7),
    sl10                                    INTEGER(0..9),
    sl16                                    INTEGER(0..15),
    sl20                                    INTEGER(0..19),
    sl32                                    INTEGER(0..31),
    sl40                                    INTEGER(0..39),
    sl64                                    INTEGER(0..63),
    sl80                                    INTEGER(0..79),
    sl160                                   INTEGER(0..159),
    sl320                                   INTEGER(0..319),
    sl640                                   INTEGER(0..639),
    sl1280                                  INTEGER(0..1279),
    sl2560                                  INTEGER(0..2559),
    sl5120                                  INTEGER(0..5119),
    sl10240                                 INTEGER(0..10239),
    sl40960                                 INTEGER(0..40959),
    sl81920                                 INTEGER(0..81919),
    ...
}

SRS-PeriodicityAndOffsetExt-r16 ::=     CHOICE {
    sl128                                   INTEGER(0..127),
    sl256                                   INTEGER(0..255),
    sl512                                   INTEGER(0..511),
    sl20480                                 INTEGER(0..20479)
}

SpatialRelationInfo-PDC-r17 ::=   SEQUENCE {
    referenceSignal                   CHOICE {
        ssb-Index                         SSB-Index,
        csi-RS-Index                      NZP-CSI-RS-ResourceId,
        dl-PRS-PDC                        NR-DL-PRS-ResourceID-r17,
        srs                               SEQUENCE {
            resourceId                        SRS-ResourceId,
            uplinkBWP                         BWP-Id
        },
        ...
    },
    ...
}

-- TAG-SRS-CONFIG-STOP
-- ASN1STOP

-- ASN1START

-- TAG-SRS-RSRP-RANGE-START

SRS-RSRP-Range-r16 ::=                      INTEGER(0..98)

-- TAG-SRS-RSRP-RANGE-STOP
-- ASN1STOP

-- ASN1START

-- TAG-SRS-TPC-COMMANDCONFIG-START

SRS-TPC-CommandConfig ::=               SEQUENCE {
    startingBitOfFormat2-3                  INTEGER (1..31)                                                     OPTIONAL,   -- Need R
    fieldTypeFormat2-3                      INTEGER (0..1)                                                      OPTIONAL,   -- Need R
    ...,
    [[
    startingBitOfFormat2-3SUL               INTEGER (1..31)                                                     OPTIONAL    -- Need R
    ]]
}

-- TAG-SRS-TPC-COMMANDCONFIG-STOP
-- ASN1STOP

-- ASN1START

-- TAG-SSB-INDEX-START

SSB-Index ::=                       INTEGER (0..maxNrofSSBs-1)

-- TAG-SSB-INDEX-STOP
-- ASN1STOP

-- ASN1START

-- TAG-SSB-MTC-START

SSB-MTC ::=                             SEQUENCE {
    periodicityAndOffset                    CHOICE {
        sf5                                 INTEGER (0..4),
        sf10                                    INTEGER (0..9),
        sf20                                    INTEGER (0..19),
        sf40                                    INTEGER (0..39),
        sf80                                    INTEGER (0..79),
        sf160                                   INTEGER (0..159)
    },
    duration                                ENUMERATED { sf1, sf2, sf3, sf4, sf5 }
}

SSB-MTC2 ::=                        SEQUENCE {
    pci-List                            SEQUENCE (SIZE (1..maxNrofPCIsPerSMTC)) OF PhysCellId                   OPTIONAL,   -- Need M
    periodicity                         ENUMERATED {sf5, sf10, sf20, sf40, sf80, spare3, spare2, spare1}
}

SSB-MTC2-LP-r16 ::=                 SEQUENCE {
    pci-List                            SEQUENCE (SIZE (1..maxNrofPCIsPerSMTC)) OF PhysCellId                   OPTIONAL,   -- Need R
    periodicity                         ENUMERATED {sf10, sf20, sf40, sf80, sf160, spare3, spare2, spare1}
}

SSB-MTC3-r16 ::=                    SEQUENCE {
    periodicityAndOffset-r16            CHOICE {
        sf5-r16                                     INTEGER (0..4),
        sf10-r16                                    INTEGER (0..9),
        sf20-r16                                    INTEGER (0..19),
        sf40-r16                                    INTEGER (0..39),
        sf80-r16                                    INTEGER (0..79),
        sf160-r16                                   INTEGER (0..159),
        sf320-r16                                   INTEGER (0..319),
        sf640-r16                                   INTEGER (0..639),
        sf1280-r16                                  INTEGER (0..1279)
    },
    duration-r16                        ENUMERATED {sf1, sf2, sf3, sf4, sf5},
    pci-List-r16                        SEQUENCE (SIZE (1..maxNrofPCIsPerSMTC)) OF PhysCellId                   OPTIONAL,  -- Need M
    ssb-ToMeasure-r16                   SetupRelease { SSB-ToMeasure }                                          OPTIONAL   -- Need M
}

SSB-MTC4-r17 ::=             SEQUENCE {
    pci-List-r17                 SEQUENCE (SIZE (1..maxNrofPCIsPerSMTC)) OF PhysCellId                          OPTIONAL,  -- Need M
    offset-r17                   INTEGER (0..159)
}

SSB-MTC-AdditionalPCI-r17 ::=       SEQUENCE {
    additionalPCIIndex-r17              AdditionalPCIIndex-r17,
    additionalPCI-r17                   PhysCellId,
    periodicity-r17                     ENUMERATED { ms5, ms10, ms20, ms40, ms80, ms160, spare2, spare1 },
    ssb-PositionsInBurst-r17            CHOICE {
        shortBitmap                         BIT STRING (SIZE (4)),
        mediumBitmap                        BIT STRING (SIZE (8)),
        longBitmap                          BIT STRING (SIZE (64))
    },
    ss-PBCH-BlockPower-r17              INTEGER (-60..50)
}

AdditionalPCIIndex-r17 ::=  INTEGER(1..maxNrofAdditionalPCI-r17)

-- TAG-SSB-MTC-STOP
-- ASN1STOP

-- ASN1START

-- TAG-SSB-POSITIONQCL-RELATION-START

SSB-PositionQCL-Relation-r16 ::=  ENUMERATED {n1,n2,n4,n8}

SSB-PositionQCL-Relation-r17 ::=  ENUMERATED {n32, n64}

-- TAG-SSB-POSITIONQCL-RELATION-STOP
-- ASN1STOP

-- ASN1START

-- TAG-SSB-TOMEASURE-START

SSB-ToMeasure ::=                   CHOICE {
    shortBitmap                         BIT STRING (SIZE (4)),
    mediumBitmap                        BIT STRING (SIZE (8)),
    longBitmap                          BIT STRING (SIZE (64))
}

-- TAG-SSB-TOMEASURE-STOP
-- ASN1STOP

-- ASN1START

-- TAG-SS-RSSI-MEASUREMENT-START

SS-RSSI-Measurement ::=             SEQUENCE {
    measurementSlots                    BIT STRING (SIZE (1..80)),
    endSymbol                           INTEGER(0..3)
}

-- TAG-SS-RSSI-MEASUREMENT-STOP
-- ASN1STOP

-- ASN1START

-- TAG-SUBCARRIERSPACING-START

SubcarrierSpacing ::=               ENUMERATED {kHz15, kHz30, kHz60, kHz120, kHz240, kHz480-v1700, kHz960-v1700, spare1}

-- TAG-SUBCARRIERSPACING-STOP
-- ASN1STOP

-- ASN1START

-- TAG-TAG-CONFIG-START

TAG-Config ::=                      SEQUENCE {
    tag-ToReleaseList                   SEQUENCE (SIZE (1..maxNrofTAGs)) OF TAG-Id                          OPTIONAL,   -- Need N
    tag-ToAddModList                    SEQUENCE (SIZE (1..maxNrofTAGs)) OF TAG                             OPTIONAL    -- Need N
}

TAG ::=                             SEQUENCE {
    tag-Id                              TAG-Id,
    timeAlignmentTimer                  TimeAlignmentTimer,
    ...
}

TAG-Id ::=                          INTEGER (0..maxNrofTAGs-1)

-- TAG-TAG-CONFIG-STOP
-- ASN1STOP

-- ASN1START

-- TAG-TAR-CONFIG-START

TAR-Config-r17 ::=                      SEQUENCE {
    offsetThresholdTA-r17               ENUMERATED {ms0dot5, ms1, ms2, ms3, ms4, ms5, ms6 ,ms7, ms8, ms9, ms10, ms11, ms12,
                                                   ms13, ms14, ms15, spare13, spare12, spare11, spare10, spare9, spare8, spare7,
                                                   spare6, spare5, spare4, spare3, spare2, spare1}          OPTIONAL,    -- Need R
    timingAdvanceSR-r17                 ENUMERATED {enabled}                                                OPTIONAL,    -- Need R
    ...
}

-- TAG-TAR-CONFIG-STOP
-- ASN1STOP

-- ASN1START

-- TAG-TCI-ACTIVATEDCONFIG-START

TCI-ActivatedConfig-r17 ::= SEQUENCE {
    pdcch-TCI-r17               SEQUENCE (SIZE (1..5)) OF TCI-StateId,
    pdsch-TCI-r17               BIT STRING (SIZE (1..maxNrofTCI-States))
}

-- TAG-TCI-ACTIVATEDCONFIG-STOP
-- ASN1STOP

-- ASN1START

-- TAG-TCI-STATE-START

TCI-State ::=                       SEQUENCE {
    tci-StateId                         TCI-StateId,
    qcl-Type1                           QCL-Info,
    qcl-Type2                           QCL-Info                                                    OPTIONAL,   -- Need R
    ...,
    [[
    additionalPCI-r17                   AdditionalPCIIndex-r17                                      OPTIONAL,   -- Need R
    pathlossReferenceRS-Id-r17          PathlossReferenceRS-Id-r17                                  OPTIONAL,   -- Cond JointTCI1
    ul-powerControl-r17                 Uplink-powerControlId-r17                                   OPTIONAL    -- Cond JointTCI
    ]]

}

QCL-Info ::=                        SEQUENCE {
    cell                                ServCellIndex                                               OPTIONAL,   -- Need R
    bwp-Id                              BWP-Id                                                      OPTIONAL, -- Cond CSI-RS-Indicated
    referenceSignal                     CHOICE {
        csi-rs                              NZP-CSI-RS-ResourceId,
        ssb                                 SSB-Index
    },
    qcl-Type                            ENUMERATED {typeA, typeB, typeC, typeD},
    ...
}

-- TAG-TCI-STATE-STOP
-- ASN1STOP

-- ASN1START

-- TAG-TCI-STATEID-START

TCI-StateId ::=                     INTEGER (0..maxNrofTCI-States-1)

-- TAG-TCI-STATEID-STOP
-- ASN1STOP

-- ASN1START

-- TAG-TCI-UL-STATE-START

TCI-UL-State-r17 ::=             SEQUENCE {
    tci-UL-StateId-r17              TCI-UL-StateId-r17,
    servingCellId-r17                ServCellIndex                                         OPTIONAL,   -- Need R
    bwp-Id-r17                       BWP-Id                                                OPTIONAL,   -- Cond CSI-RSorSRS-Indicated
    referenceSignal-r17              CHOICE {
        ssb-Index-r17                    SSB-Index,
        csi-RS-Index-r17                 NZP-CSI-RS-ResourceId,
        srs-r17                          SRS-ResourceId
    },
    additionalPCI-r17                AdditionalPCIIndex-r17                                OPTIONAL,   -- Need R
    ul-powerControl-r17              Uplink-powerControlId-r17                             OPTIONAL,   -- Need R
    pathlossReferenceRS-Id-r17       PathlossReferenceRS-Id-r17                            OPTIONAL,   -- Cond Mandatory
    ...
}

-- TAG-TCI-UL-STATE-STOP
-- ASN1STOP

-- ASN1START

-- TAG-TCI-UL-STATEID-START

TCI-UL-StateId-r17 ::=              INTEGER (0..maxUL-TCI-1-r17)

-- TAG-TCI-UL-STATEID-STOP
-- ASN1STOP

-- ASN1START

-- TAG-TDD-UL-DL-CONFIGCOMMON-START

TDD-UL-DL-ConfigCommon ::=          SEQUENCE {
    referenceSubcarrierSpacing          SubcarrierSpacing,
    pattern1                            TDD-UL-DL-Pattern,
    pattern2                            TDD-UL-DL-Pattern                                                       OPTIONAL, -- Need R
    ...
}

TDD-UL-DL-Pattern ::=               SEQUENCE {
    dl-UL-TransmissionPeriodicity       ENUMERATED {ms0p5, ms0p625, ms1, ms1p25, ms2, ms2p5, ms5, ms10},
    nrofDownlinkSlots                   INTEGER (0..maxNrofSlots),
    nrofDownlinkSymbols                 INTEGER (0..maxNrofSymbols-1),
    nrofUplinkSlots                     INTEGER (0..maxNrofSlots),
    nrofUplinkSymbols                   INTEGER (0..maxNrofSymbols-1),
    ...,
    [[
    dl-UL-TransmissionPeriodicity-v1530     ENUMERATED {ms3, ms4}                                               OPTIONAL -- Need R
    ]]
}

-- TAG-TDD-UL-DL-CONFIGCOMMON-STOP
-- ASN1STOP

-- ASN1START

-- TAG-TDD-UL-DL-CONFIGDEDICATED-START

TDD-UL-DL-ConfigDedicated ::=       SEQUENCE {
    slotSpecificConfigurationsToAddModList      SEQUENCE (SIZE (1..maxNrofSlots)) OF TDD-UL-DL-SlotConfig       OPTIONAL, -- Need N
    slotSpecificConfigurationsToReleaseList     SEQUENCE (SIZE (1..maxNrofSlots)) OF TDD-UL-DL-SlotIndex        OPTIONAL, -- Need N
    ...
}

TDD-UL-DL-ConfigDedicated-IAB-MT-r16 ::=         SEQUENCE {
    slotSpecificConfigurationsToAddModList-IAB-MT-r16  SEQUENCE (SIZE (1..maxNrofSlots)) OF TDD-UL-DL-SlotConfig-IAB-MT-r16      OPTIONAL, -- Need N
    slotSpecificConfigurationsToReleaseList-IAB-MT-r16 SEQUENCE (SIZE (1..maxNrofSlots)) OF TDD-UL-DL-SlotIndex                  OPTIONAL, -- Need N
    ...
}

TDD-UL-DL-SlotConfig ::=            SEQUENCE {
    slotIndex                           TDD-UL-DL-SlotIndex,
    symbols                             CHOICE {
        allDownlink                         NULL,
        allUplink                           NULL,
        explicit                            SEQUENCE {
            nrofDownlinkSymbols                 INTEGER (1..maxNrofSymbols-1)                                   OPTIONAL, -- Need S
            nrofUplinkSymbols                   INTEGER (1..maxNrofSymbols-1)                                   OPTIONAL  -- Need S
        }
    }
}

TDD-UL-DL-SlotConfig-IAB-MT-r16 ::=    SEQUENCE {
    slotIndex-r16                           TDD-UL-DL-SlotIndex,
    symbols-IAB-MT-r16                      CHOICE {
        allDownlink-r16                         NULL,
        allUplink-r16                           NULL,
        explicit-r16                            SEQUENCE {
            nrofDownlinkSymbols-r16                 INTEGER (1..maxNrofSymbols-1)                               OPTIONAL, -- Need S
            nrofUplinkSymbols-r16                   INTEGER (1..maxNrofSymbols-1)                               OPTIONAL  -- Need S
        },
        explicit-IAB-MT-r16                     SEQUENCE {
            nrofDownlinkSymbols-r16                 INTEGER (1..maxNrofSymbols-1)                               OPTIONAL, -- Need S
            nrofUplinkSymbols-r16                   INTEGER (1..maxNrofSymbols-1)                               OPTIONAL  -- Need S
        }
    }
}

TDD-UL-DL-SlotIndex ::=             INTEGER (0..maxNrofSlots-1)

-- TAG-TDD-UL-DL-CONFIGDEDICATED-STOP
-- ASN1STOP

-- ASN1START

-- TAG-TRACKINGAREACODE-START

TrackingAreaCode ::= BIT STRING (SIZE (24))

-- TAG-TRACKINGAREACODE-STOP
-- ASN1STOP

-- ASN1START

-- TAG-TRESELECTION-START

T-Reselection ::=                   INTEGER (0..7)

-- TAG-TRESELECTION-STOP
-- ASN1STOP

-- ASN1START

-- TAG-TIMEALIGNMENTTIMER-START

TimeAlignmentTimer ::=              ENUMERATED {ms500, ms750, ms1280, ms1920, ms2560, ms5120, ms10240, infinity}

-- TAG-TIMEALIGNMENTTIMER-STOP
-- ASN1STOP

-- ASN1START

-- TAG-TIMETOTRIGGER-START

TimeToTrigger ::=                   ENUMERATED {
                                        ms0, ms40, ms64, ms80, ms100, ms128, ms160, ms256,
                                        ms320, ms480, ms512, ms640, ms1024, ms1280, ms2560,
                                        ms5120}

-- TAG-TIMETOTRIGGER-STOP
-- ASN1STOP

-- ASN1START

-- TAG-UAC-BARRINGINFOSETINDEX-START

UAC-BarringInfoSetIndex ::=                INTEGER (1..maxBarringInfoSet)

-- TAG-UAC-BARRINGINFOSETINDEX-STOP
-- ASN1STOP

-- ASN1START

-- TAG-UAC-BARRINGINFOSETLIST-START

UAC-BarringInfoSetList ::=          SEQUENCE (SIZE(1..maxBarringInfoSet)) OF UAC-BarringInfoSet

UAC-BarringInfoSetList-v1700 ::= SEQUENCE (SIZE(1..maxBarringInfoSet)) OF UAC-BarringInfoSet-v1700

UAC-BarringInfoSet ::=              SEQUENCE {
    uac-BarringFactor                   ENUMERATED {p00, p05, p10, p15, p20, p25, p30, p40,
                                                    p50, p60, p70, p75, p80, p85, p90, p95},
    uac-BarringTime                     ENUMERATED {s4, s8, s16, s32, s64, s128, s256, s512},
    uac-BarringForAccessIdentity        BIT STRING (SIZE(7))
}

UAC-BarringInfoSet-v1700 ::= SEQUENCE {
    uac-BarringFactorForAI3-r17  ENUMERATED {p00, p05, p10, p15, p20, p25, p30, p40, p50, p60, p70, p75, p80, p85, p90, p95}
                                                                       OPTIONAL  -- Need S
}

-- TAG-UAC-BARRINGINFOSETLIST-STOP
-- ASN1STOP

-- ASN1START

-- TAG-UAC-BARRINGPERCATLIST-START

UAC-BarringPerCatList ::=           SEQUENCE (SIZE (1..maxAccessCat-1)) OF UAC-BarringPerCat

UAC-BarringPerCat ::=               SEQUENCE {
   accessCategory                       INTEGER (1..maxAccessCat-1),
   uac-barringInfoSetIndex              UAC-BarringInfoSetIndex
}

-- TAG-UAC-BARRINGPERCATLIST-STOP
-- ASN1STOP

-- ASN1START

-- TAG-UAC-BARRINGPERPLMN-LIST-START

UAC-BarringPerPLMN-List ::=         SEQUENCE (SIZE (1..maxPLMN)) OF UAC-BarringPerPLMN

UAC-BarringPerPLMN ::=              SEQUENCE {
    plmn-IdentityIndex                  INTEGER (1..maxPLMN),
    uac-ACBarringListType               CHOICE{
        uac-ImplicitACBarringList           SEQUENCE (SIZE(maxAccessCat-1)) OF UAC-BarringInfoSetIndex,
        uac-ExplicitACBarringList           UAC-BarringPerCatList
    }                                                                                                     OPTIONAL     -- Need S
}

-- TAG-UAC-BARRINGPERPLMN-LIST-STOP
-- ASN1STOP

-- ASN1START

-- TAG-UE-TIMERSANDCONSTANTS-START

UE-TimersAndConstants ::=           SEQUENCE {
    t300                                ENUMERATED {ms100, ms200, ms300, ms400, ms600, ms1000, ms1500, ms2000},
    t301                                ENUMERATED {ms100, ms200, ms300, ms400, ms600, ms1000, ms1500, ms2000},
    t310                                ENUMERATED {ms0, ms50, ms100, ms200, ms500, ms1000, ms2000},
    n310                                ENUMERATED {n1, n2, n3, n4, n6, n8, n10, n20},
    t311                                ENUMERATED {ms1000, ms3000, ms5000, ms10000, ms15000, ms20000, ms30000},
    n311                                ENUMERATED {n1, n2, n3, n4, n5, n6, n8, n10},
    t319                                ENUMERATED {ms100, ms200, ms300, ms400, ms600, ms1000, ms1500, ms2000},
    ...
}

-- TAG-UE-TIMERSANDCONSTANTS-STOP
-- ASN1STOP

-- ASN1START

-- TAG-UE-TIMERSANDCONSTANTSREMOTEUE-START

UE-TimersAndConstantsRemoteUE-r17 ::= SEQUENCE {
    t300-RemoteUE-r17                     ENUMERATED {ms100, ms200, ms300, ms400, ms600, ms1000, ms1500, ms2000} OPTIONAL, -- Need S
    t301-RemoteUE-r17                     ENUMERATED {ms100, ms200, ms300, ms400, ms600, ms1000, ms1500, ms2000} OPTIONAL, -- Need S
    t319-RemoteUE-r17                     ENUMERATED {ms100, ms200, ms300, ms400, ms600, ms1000, ms1500, ms2000} OPTIONAL, -- Need S
    ...
}

-- TAG-UE-TIMERSANDCONSTANTSREMOTEUE-STOP
-- ASN1STOP

-- ASN1START

-- TAG-ULDELAYVALUECONFIG-START

UL-DelayValueConfig-r16 ::=  SEQUENCE {
    delay-DRBlist-r16            SEQUENCE (SIZE(1..maxDRB)) OF DRB-Identity
}

-- TAG-ULDELAYVALUECONFIG-STOP
-- ASN1STOP

-- ASN1START

-- TAG-ULEXCESSDELAYCONFIG-START

UL-ExcessDelayConfig-r17 ::=  SEQUENCE {
    excessDelay-DRBlist-r17       SEQUENCE (SIZE(1..maxDRB)) OF ExcessDelay-DRB-IdentityInfo-r17
}

ExcessDelay-DRB-IdentityInfo-r17 ::=  SEQUENCE {
    drb-IdentityList                      SEQUENCE (SIZE (1..maxDRB)) OF DRB-Identity,
    delayThreshold                        ENUMERATED {ms0dot25, ms0dot5, ms1, ms2, ms4, ms5, ms10, ms20, ms30, ms40, ms50, ms60, ms70,
                                                      ms80, ms90, ms100, ms150, ms300, ms500}
}

-- TAG-ULEXCESSDELAYCONFIG-STOP
-- ASN1STOP

-- ASN1START

-- TAG-UL-GAPFR2-CONFIG-START

UL-GapFR2-Config-r17 ::=      SEQUENCE {
    gapOffset-r17                 INTEGER (0..159),
    ugl-r17                       ENUMERATED {ms0dot125, ms0dot25, ms0dot5, ms1},
    ugrp-r17                      ENUMERATED {ms5, ms20, ms40, ms160},
    refFR2-ServCellAsyncCA-r17    ServCellIndex                                                      OPTIONAL -- Cond AsyncCA
}

-- TAG-UL-GAPFR2-CONFIG-STOP
-- ASN1STOP

-- ASN1START

-- TAG-UPLINKCANCELLATION-START

UplinkCancellation-r16 ::=           SEQUENCE {
    ci-RNTI-r16                          RNTI-Value,
    dci-PayloadSizeForCI-r16             INTEGER (0..maxCI-DCI-PayloadSize-r16),
    ci-ConfigurationPerServingCell-r16   SEQUENCE (SIZE (1..maxNrofServingCells)) OF CI-ConfigurationPerServingCell-r16,
    ...
}

CI-ConfigurationPerServingCell-r16 ::=   SEQUENCE {
    servingCellId                            ServCellIndex,
    positionInDCI-r16                        INTEGER (0..maxCI-DCI-PayloadSize-1-r16),
    positionInDCI-ForSUL-r16                 INTEGER (0..maxCI-DCI-PayloadSize-1-r16)                             OPTIONAL,   -- Cond SUL-Only
    ci-PayloadSize-r16                       ENUMERATED {n1, n2, n4, n5, n7, n8, n10, n14, n16, n20, n28, n32, n35, n42, n56, n112},
    timeFrequencyRegion-r16                  SEQUENCE {
        timeDurationForCI-r16                    ENUMERATED {n2, n4, n7, n14}                                      OPTIONAL,   -- Cond SymbolPeriodicity
        timeGranularityForCI-r16                 ENUMERATED {n1, n2, n4, n7, n14, n28},
        frequencyRegionForCI-r16                 INTEGER (0..37949),
        deltaOffset-r16                          INTEGER (0..2),
        ...
    },
    uplinkCancellationPriority-v1610         ENUMERATED {enabled}                                                  OPTIONAL    -- Need S
}

-- TAG-UPLINKCANCELLATION-STOP
-- ASN1STOP

-- ASN1START

-- TAG-UPLINKCONFIGCOMMON-START

UplinkConfigCommon ::=              SEQUENCE {
    frequencyInfoUL                     FrequencyInfoUL                                 OPTIONAL,   -- Cond InterFreqHOAndServCellAdd
    initialUplinkBWP                    BWP-UplinkCommon                                OPTIONAL,   -- Cond ServCellAdd
    dummy                               TimeAlignmentTimer
}

UplinkConfigCommon-v1700 ::=        SEQUENCE {
    initialUplinkBWP-RedCap-r17         BWP-UplinkCommon                                OPTIONAL    -- Need R
}

-- TAG-UPLINKCONFIGCOMMON-STOP
-- ASN1STOP

-- ASN1START

-- TAG-UPLINKCONFIGCOMMONSIB-START

UplinkConfigCommonSIB ::=               SEQUENCE {
    frequencyInfoUL                         FrequencyInfoUL-SIB,
    initialUplinkBWP                        BWP-UplinkCommon,
    timeAlignmentTimerCommon                TimeAlignmentTimer
}

UplinkConfigCommonSIB-v1700 ::=         SEQUENCE {
    initialUplinkBWP-RedCap-r17             BWP-UplinkCommon                                OPTIONAL   -- Need R
}

-- TAG-UPLINKCONFIGCOMMONSIB-STOP
-- ASN1STOP

-- ASN1START

-- TAG-UPLINK-POWERCONTROL-START

Uplink-powerControl-r17 ::= SEQUENCE {
    ul-powercontrolId-r17        Uplink-powerControlId-r17,
    p0AlphaSetforPUSCH-r17       P0AlphaSet-r17                                                               OPTIONAL, -- Need R
    p0AlphaSetforPUCCH-r17       P0AlphaSet-r17                                                               OPTIONAL, -- Need R
    p0AlphaSetforSRS-r17         P0AlphaSet-r17                                                               OPTIONAL  -- Need R
}

P0AlphaSet-r17 ::=           SEQUENCE {
    p0-r17                       INTEGER (-16..15)                                                            OPTIONAL, -- Need R
    alpha-r17                    Alpha                                                                        OPTIONAL, -- Need S
    closedLoopIndex-r17          ENUMERATED { i0, i1 }
}

Uplink-powerControlId-r17 ::= INTEGER(1..maxUL-TCI-r17)

-- TAG-UPLINK-POWERCONTROL-STOP
-- ASN1STOP

-- ASN1START

-- TAG-UURELAYRLCCHANNELCONFIG-START

Uu-RelayRLC-ChannelConfig-r17 ::= SEQUENCE {
    uu-LogicalChannelIdentity-r17    LogicalChannelIdentity                    OPTIONAL,   -- Cond RelayLCH-SetupOnly
    uu-RelayRLC-ChannelID-r17        Uu-RelayRLC-ChannelID-r17,
    reestablishRLC-r17               ENUMERATED {true}                         OPTIONAL,   -- Need N
    rlc-Config-r17                   RLC-Config                                OPTIONAL,   -- Cond RelayLCH-Setup
    mac-LogicalChannelConfig-r17     LogicalChannelConfig                      OPTIONAL,   -- Cond RelayLCH-Setup
    ...
}

-- TAG-UURELAYRLCCHANNELCONFIG-STOP
-- ASN1STOP

-- ASN1START

-- TAG-UURELAYRLCCHANNELID-START

Uu-RelayRLC-ChannelID-r17 ::= INTEGER (1..maxLC-ID)

-- TAG-UURELAYRLCCHANNELID-STOP
-- ASN1STOP

-- ASN1START

-- TAG-UPLINKTXDIRECTCURRENTLIST-START

UplinkTxDirectCurrentList ::=           SEQUENCE (SIZE (1..maxNrofServingCells)) OF UplinkTxDirectCurrentCell

UplinkTxDirectCurrentCell ::=           SEQUENCE {
    servCellIndex                           ServCellIndex,
    uplinkDirectCurrentBWP                  SEQUENCE (SIZE (1..maxNrofBWPs)) OF UplinkTxDirectCurrentBWP,
    ...,
    [[
    uplinkDirectCurrentBWP-SUL              SEQUENCE (SIZE (1..maxNrofBWPs)) OF UplinkTxDirectCurrentBWP               OPTIONAL
    ]]
}

UplinkTxDirectCurrentBWP ::=            SEQUENCE {
    bwp-Id                                  BWP-Id,
    shift7dot5kHz                           BOOLEAN,
    txDirectCurrentLocation                 INTEGER (0..3301)
}

-- TAG-UPLINKTXDIRECTCURRENTLIST-STOP
-- ASN1STOP

-- ASN1START

-- TAG-UPLINKTXDIRECTCURRENTMORECARRIERLIST-START

UplinkTxDirectCurrentMoreCarrierList-r17 ::=   SEQUENCE (SIZE (1..maxNrofCC-Group-r17)) OF CC-Group-r17

CC-Group-r17 ::=           SEQUENCE {
    servCellIndexLower-r17     ServCellIndex,
    servCellIndexHigher-r17    ServCellIndex              OPTIONAL,
    defaultDC-Location-r17     DefaultDC-Location-r17,
    offsetToDefault-r17        CHOICE{
        offsetValue                OffsetValue-r17,
        offsetlist                 SEQUENCE (SIZE(1..maxNrofReqComDC-Location-r17)) OF OffsetValue-r17
    }                                                     OPTIONAL
}


OffsetValue-r17 ::=         SEQUENCE {
    offsetValue-r17            INTEGER (-20000..20000),
    shift7dot5kHz-r17          BOOLEAN
}

DefaultDC-Location-r17 ::= CHOICE {
    ul                         FrequencyComponent-r17,
    dl                         FrequencyComponent-r17,
    ulAndDL                    FrequencyComponent-r17
}

FrequencyComponent-r17 ::=  ENUMERATED {activeCarrier,configuredCarrier,activeBWP,configuredBWP}

-- TAG-UPLINKTXDIRECTCURRENTMORECARRIERLIST-STOP
-- ASN1STOP

-- ASN1START

-- TAG-UPLINKTXDIRECTCURRENTTWOCARRIERLIST-START

UplinkTxDirectCurrentTwoCarrierList-r16 ::=   SEQUENCE (SIZE (1..maxNrofTxDC-TwoCarrier-r16)) OF UplinkTxDirectCurrentTwoCarrier-r16

UplinkTxDirectCurrentTwoCarrier-r16 ::=       SEQUENCE {
    carrierOneInfo-r16                            UplinkTxDirectCurrentCarrierInfo-r16,
    carrierTwoInfo-r16                            UplinkTxDirectCurrentCarrierInfo-r16,
    singlePA-TxDirectCurrent-r16                  UplinkTxDirectCurrentTwoCarrierInfo-r16,
    secondPA-TxDirectCurrent-r16                  UplinkTxDirectCurrentTwoCarrierInfo-r16            OPTIONAL
}

UplinkTxDirectCurrentCarrierInfo-r16 ::=      SEQUENCE {
    servCellIndex-r16                             ServCellIndex,
    servCellInfo-r16                              CHOICE {
        bwp-Id-r16                                    BWP-Id,
        deactivatedCarrier-r16                        ENUMERATED {deactivated}
    }
}

UplinkTxDirectCurrentTwoCarrierInfo-r16 ::=   SEQUENCE {
    referenceCarrierIndex-r16                     ServCellIndex,
    shift7dot5kHz-r16                             BOOLEAN,
    txDirectCurrentLocation-r16                   INTEGER (0..3301)
}

-- TAG-UPLINKTXDIRECTCURRENTTWOCARRIERLIST-STOP
-- ASN1STOP

-- ASN1START

-- TAG-ZP-CSI-RS-RESOURCE-START

ZP-CSI-RS-Resource ::=              SEQUENCE {
    zp-CSI-RS-ResourceId                ZP-CSI-RS-ResourceId,
    resourceMapping                     CSI-RS-ResourceMapping,
    periodicityAndOffset                CSI-ResourcePeriodicityAndOffset                OPTIONAL, --Cond PeriodicOrSemiPersistent
    ...
}

ZP-CSI-RS-ResourceId ::=            INTEGER (0..maxNrofZP-CSI-RS-Resources-1)

-- TAG-ZP-CSI-RS-RESOURCE-STOP
-- ASN1STOP

-- ASN1START

-- TAG-ZP-CSI-RS-RESOURCESET-START

ZP-CSI-RS-ResourceSet ::=           SEQUENCE {
    zp-CSI-RS-ResourceSetId             ZP-CSI-RS-ResourceSetId,
    zp-CSI-RS-ResourceIdList            SEQUENCE (SIZE(1..maxNrofZP-CSI-RS-ResourcesPerSet)) OF ZP-CSI-RS-ResourceId,
    ...
}

-- TAG-ZP-CSI-RS-RESOURCESET-STOP
-- ASN1STOP

-- ASN1START

-- TAG-ZP-CSI-RS-RESOURCESETID-START

ZP-CSI-RS-ResourceSetId ::=                     INTEGER (0..maxNrofZP-CSI-RS-ResourceSets-1)

-- TAG-ZP-CSI-RS-RESOURCESETID-STOP
-- ASN1STOP

-- ASN1START

-- TAG-ACCESSSTRATUMRELEASE-START

AccessStratumRelease ::= ENUMERATED {
                            rel15, rel16, rel17, spare5, spare4, spare3, spare2, spare1, ... }

-- TAG-ACCESSSTRATUMRELEASE-STOP
-- ASN1STOP

-- ASN1START

-- TAG-APPLAYERMEASPARAMETERS-START

AppLayerMeasParameters-r17 ::=            SEQUENCE {
    qoe-Streaming-MeasReport-r17              ENUMERATED {supported}                                             OPTIONAL,
    qoe-MTSI-MeasReport-r17                   ENUMERATED {supported}                                             OPTIONAL,
    qoe-VR-MeasReport-r17                     ENUMERATED {supported}                                             OPTIONAL,
    ran-VisibleQoE-Streaming-MeasReport-r17   ENUMERATED {supported}                                             OPTIONAL,
    ran-VisibleQoE-VR-MeasReport-r17          ENUMERATED {supported}                                             OPTIONAL,
    ul-MeasurementReportAppLayer-Seg-r17      ENUMERATED {supported}                                             OPTIONAL,
    ...
}

-- TAG-APPLAYERMEASPARAMETERS-STOP
-- ASN1STOP

-- ASN1START

-- TAG-BANDCOMBINATIONLIST-START

BandCombinationList ::=             SEQUENCE (SIZE (1..maxBandComb)) OF BandCombination

BandCombinationList-v1540 ::=       SEQUENCE (SIZE (1..maxBandComb)) OF BandCombination-v1540

BandCombinationList-v1550 ::=       SEQUENCE (SIZE (1..maxBandComb)) OF BandCombination-v1550

BandCombinationList-v1560 ::=       SEQUENCE (SIZE (1..maxBandComb)) OF BandCombination-v1560

BandCombinationList-v1570 ::=       SEQUENCE (SIZE (1..maxBandComb)) OF BandCombination-v1570

BandCombinationList-v1580 ::=       SEQUENCE (SIZE (1..maxBandComb)) OF BandCombination-v1580

BandCombinationList-v1590 ::=       SEQUENCE (SIZE (1..maxBandComb)) OF BandCombination-v1590

BandCombinationList-v15g0 ::=       SEQUENCE (SIZE (1..maxBandComb)) OF BandCombination-v15g0

BandCombinationList-v1610 ::=       SEQUENCE (SIZE (1..maxBandComb)) OF BandCombination-v1610

BandCombinationList-v1630 ::=       SEQUENCE (SIZE (1..maxBandComb)) OF BandCombination-v1630

BandCombinationList-v1640 ::=       SEQUENCE (SIZE (1..maxBandComb)) OF BandCombination-v1640

BandCombinationList-v1650 ::=       SEQUENCE (SIZE (1..maxBandComb)) OF BandCombination-v1650

BandCombinationList-v1680 ::=       SEQUENCE (SIZE (1..maxBandComb)) OF BandCombination-v1680

BandCombinationList-v1690 ::=       SEQUENCE (SIZE (1..maxBandComb)) OF BandCombination-v1690

BandCombinationList-v16a0 ::=       SEQUENCE (SIZE (1..maxBandComb)) OF BandCombination-v16a0

BandCombinationList-v1700 ::=       SEQUENCE (SIZE (1..maxBandComb)) OF BandCombination-v1700

BandCombinationList-v1720 ::=       SEQUENCE (SIZE (1..maxBandComb)) OF BandCombination-v1720

BandCombinationList-v1730 ::=       SEQUENCE (SIZE (1..maxBandComb)) OF BandCombination-v1730

BandCombinationList-v1740 ::=       SEQUENCE (SIZE (1..maxBandComb)) OF BandCombination-v1740

BandCombinationList-UplinkTxSwitch-r16 ::= SEQUENCE (SIZE (1..maxBandComb)) OF BandCombination-UplinkTxSwitch-r16

BandCombinationList-UplinkTxSwitch-v1630 ::= SEQUENCE (SIZE (1..maxBandComb)) OF BandCombination-UplinkTxSwitch-v1630

BandCombinationList-UplinkTxSwitch-v1640 ::= SEQUENCE (SIZE (1..maxBandComb)) OF BandCombination-UplinkTxSwitch-v1640

BandCombinationList-UplinkTxSwitch-v1650 ::= SEQUENCE (SIZE (1..maxBandComb)) OF BandCombination-UplinkTxSwitch-v1650

BandCombinationList-UplinkTxSwitch-v1670 ::= SEQUENCE (SIZE (1..maxBandComb)) OF BandCombination-UplinkTxSwitch-v1670

BandCombinationList-UplinkTxSwitch-v1690 ::= SEQUENCE (SIZE (1..maxBandComb)) OF BandCombination-UplinkTxSwitch-v1690

BandCombinationList-UplinkTxSwitch-v16a0 ::= SEQUENCE (SIZE (1..maxBandComb)) OF BandCombination-UplinkTxSwitch-v16a0

BandCombinationList-UplinkTxSwitch-v1700 ::= SEQUENCE (SIZE (1..maxBandComb)) OF BandCombination-UplinkTxSwitch-v1700

BandCombinationList-UplinkTxSwitch-v1720 ::= SEQUENCE (SIZE (1..maxBandComb)) OF BandCombination-UplinkTxSwitch-v1720

BandCombinationList-UplinkTxSwitch-v1730 ::= SEQUENCE (SIZE (1..maxBandComb)) OF BandCombination-UplinkTxSwitch-v1730

BandCombinationList-UplinkTxSwitch-v1740 ::= SEQUENCE (SIZE (1..maxBandComb)) OF BandCombination-UplinkTxSwitch-v1740

BandCombination ::=                 SEQUENCE {
    bandList                            SEQUENCE (SIZE (1..maxSimultaneousBands)) OF BandParameters,
    featureSetCombination               FeatureSetCombinationId,
    ca-ParametersEUTRA                  CA-ParametersEUTRA                          OPTIONAL,
    ca-ParametersNR                     CA-ParametersNR                             OPTIONAL,
    mrdc-Parameters                     MRDC-Parameters                             OPTIONAL,
    supportedBandwidthCombinationSet    BIT STRING (SIZE (1..32))                   OPTIONAL,
    powerClass-v1530                    ENUMERATED {pc2}                            OPTIONAL
}

BandCombination-v1540 ::=            SEQUENCE {
    bandList-v1540                      SEQUENCE (SIZE (1..maxSimultaneousBands)) OF BandParameters-v1540,
    ca-ParametersNR-v1540               CA-ParametersNR-v1540                       OPTIONAL
}

BandCombination-v1550 ::=           SEQUENCE {
    ca-ParametersNR-v1550               CA-ParametersNR-v1550
}
BandCombination-v1560 ::=            SEQUENCE {
    ne-DC-BC                                ENUMERATED {supported}                 OPTIONAL,
    ca-ParametersNRDC                       CA-ParametersNRDC                      OPTIONAL,
    ca-ParametersEUTRA-v1560                CA-ParametersEUTRA-v1560               OPTIONAL,
    ca-ParametersNR-v1560                   CA-ParametersNR-v1560                  OPTIONAL
}

BandCombination-v1570 ::=           SEQUENCE {
    ca-ParametersEUTRA-v1570            CA-ParametersEUTRA-v1570
}

BandCombination-v1580 ::=           SEQUENCE {
    mrdc-Parameters-v1580               MRDC-Parameters-v1580
}

BandCombination-v1590 ::=            SEQUENCE {
    supportedBandwidthCombinationSetIntraENDC  BIT STRING (SIZE (1..32))           OPTIONAL,
    mrdc-Parameters-v1590                      MRDC-Parameters-v1590
}

BandCombination-v15g0 ::=            SEQUENCE {
    ca-ParametersNR-v15g0               CA-ParametersNR-v15g0                      OPTIONAL,
    ca-ParametersNRDC-v15g0             CA-ParametersNRDC-v15g0                    OPTIONAL,
    mrdc-Parameters-v15g0               MRDC-Parameters-v15g0                      OPTIONAL
}

BandCombination-v1610 ::=          SEQUENCE {
    bandList-v1610                      SEQUENCE (SIZE (1..maxSimultaneousBands)) OF BandParameters-v1610  OPTIONAL,
    ca-ParametersNR-v1610               CA-ParametersNR-v1610                  OPTIONAL,
    ca-ParametersNRDC-v1610             CA-ParametersNRDC-v1610                OPTIONAL,
    powerClass-v1610                    ENUMERATED {pc1dot5}                   OPTIONAL,
    powerClassNRPart-r16                ENUMERATED {pc1, pc2, pc3, pc5}        OPTIONAL,
    featureSetCombinationDAPS-r16       FeatureSetCombinationId                OPTIONAL,
    mrdc-Parameters-v1620               MRDC-Parameters-v1620                  OPTIONAL
}

BandCombination-v1630 ::=                   SEQUENCE {
    ca-ParametersNR-v1630                       CA-ParametersNR-v1630                                             OPTIONAL,
    ca-ParametersNRDC-v1630                     CA-ParametersNRDC-v1630                                           OPTIONAL,
    mrdc-Parameters-v1630                       MRDC-Parameters-v1630                                             OPTIONAL,
    supportedTxBandCombListPerBC-Sidelink-r16   BIT STRING (SIZE (1..maxBandComb))                                OPTIONAL,
    supportedRxBandCombListPerBC-Sidelink-r16   BIT STRING (SIZE (1..maxBandComb))                                OPTIONAL,
    scalingFactorTxSidelink-r16                 SEQUENCE (SIZE (1..maxBandComb)) OF ScalingFactorSidelink-r16     OPTIONAL,
    scalingFactorRxSidelink-r16                 SEQUENCE (SIZE (1..maxBandComb)) OF ScalingFactorSidelink-r16     OPTIONAL
}

BandCombination-v1640 ::=                   SEQUENCE {
    ca-ParametersNR-v1640                       CA-ParametersNR-v1640                                             OPTIONAL,
    ca-ParametersNRDC-v1640                     CA-ParametersNRDC-v1640                                           OPTIONAL
}

BandCombination-v1650 ::=          SEQUENCE {
    ca-ParametersNRDC-v1650             CA-ParametersNRDC-v1650                 OPTIONAL
}

BandCombination-v1680 ::=          SEQUENCE {
    intrabandConcurrentOperationPowerClass-r16 SEQUENCE (SIZE (1..maxBandComb)) OF IntraBandPowerClass-r16     OPTIONAL
}

BandCombination-v1690 ::=          SEQUENCE {
    ca-ParametersNR-v1690              CA-ParametersNR-v1690                 OPTIONAL
}

BandCombination-v16a0 ::=          SEQUENCE {
    ca-ParametersNR-v16a0              CA-ParametersNR-v16a0                    OPTIONAL,
    ca-ParametersNRDC-v16a0            CA-ParametersNRDC-v16a0                  OPTIONAL
}
BandCombination-v1700 ::=          SEQUENCE {
    ca-ParametersNR-v1700              CA-ParametersNR-v1700                    OPTIONAL,
    ca-ParametersNRDC-v1700            CA-ParametersNRDC-v1700                  OPTIONAL,
    mrdc-Parameters-v1700              MRDC-Parameters-v1700                    OPTIONAL,
    bandList-v1710                      SEQUENCE (SIZE (1..maxSimultaneousBands)) OF BandParameters-v1710  OPTIONAL,
    supportedBandCombListPerBC-SL-RelayDiscovery-r17      BIT STRING (SIZE (1..maxBandComb))               OPTIONAL,
    supportedBandCombListPerBC-SL-NonRelayDiscovery-r17   BIT STRING (SIZE (1..maxBandComb))               OPTIONAL
}

BandCombination-v1720 ::=          SEQUENCE {
    ca-ParametersNR-v1720              CA-ParametersNR-v1720                    OPTIONAL,
    ca-ParametersNRDC-v1720            CA-ParametersNRDC-v1720                  OPTIONAL
}

BandCombination-v1730 ::=          SEQUENCE {
    ca-ParametersNR-v1730              CA-ParametersNR-v1730                    OPTIONAL,
    ca-ParametersNRDC-v1730            CA-ParametersNRDC-v1730                  OPTIONAL,
    bandList-v1730                     SEQUENCE (SIZE (1..maxSimultaneousBands)) OF BandParameters-v1730  OPTIONAL
}

BandCombination-v1740 ::=          SEQUENCE {
    ca-ParametersNR-v1740              CA-ParametersNR-v1740                    OPTIONAL
}

BandCombination-UplinkTxSwitch-r16 ::= SEQUENCE {
    bandCombination-r16                 BandCombination,
    bandCombination-v1540               BandCombination-v1540                      OPTIONAL,
    bandCombination-v1560               BandCombination-v1560                      OPTIONAL,
    bandCombination-v1570               BandCombination-v1570                      OPTIONAL,
    bandCombination-v1580               BandCombination-v1580                      OPTIONAL,
    bandCombination-v1590               BandCombination-v1590                      OPTIONAL,
    bandCombination-v1610               BandCombination-v1610                      OPTIONAL,
    supportedBandPairListNR-r16         SEQUENCE (SIZE (1..maxULTxSwitchingBandPairs)) OF ULTxSwitchingBandPair-r16,
    uplinkTxSwitching-OptionSupport-r16 ENUMERATED {switchedUL, dualUL, both}      OPTIONAL,
    uplinkTxSwitching-PowerBoosting-r16 ENUMERATED {supported}                     OPTIONAL,
    ...,
    [[
    -- R4 16-5 UL-MIMO coherence capability for dynamic Tx switching between 3CC 1Tx-2Tx switching
    uplinkTxSwitching-PUSCH-TransCoherence-r16     ENUMERATED {nonCoherent, fullCoherent}   OPTIONAL
    ]]
}

BandCombination-UplinkTxSwitch-v1630 ::=    SEQUENCE {
    bandCombination-v1630                       BandCombination-v1630              OPTIONAL
}

BandCombination-UplinkTxSwitch-v1640 ::=    SEQUENCE {
    bandCombination-v1640                       BandCombination-v1640              OPTIONAL
}

BandCombination-UplinkTxSwitch-v1650 ::= SEQUENCE {
    bandCombination-v1650               BandCombination-v1650                      OPTIONAL
}

BandCombination-UplinkTxSwitch-v1670 ::= SEQUENCE {
    bandCombination-v15g0                    BandCombination-v15g0                 OPTIONAL
}

BandCombination-UplinkTxSwitch-v1690 ::=  SEQUENCE {
    bandCombination-v1690                     BandCombination-v1690                OPTIONAL
}

BandCombination-UplinkTxSwitch-v16a0 ::= SEQUENCE {
    bandCombination-v16a0                    BandCombination-v16a0                 OPTIONAL
}

BandCombination-UplinkTxSwitch-v1700 ::= SEQUENCE {
    bandCombination-v1700                    BandCombination-v1700                      OPTIONAL,
    -- R4 16-1/16-2/16-3 Dynamic Tx switching between 2CC/3CC 2Tx-2Tx/1Tx-2Tx switching
    supportedBandPairListNR-v1700            SEQUENCE (SIZE (1..maxULTxSwitchingBandPairs)) OF ULTxSwitchingBandPair-v1700  OPTIONAL,
    -- R4 16-6: UL-MIMO coherence capability for dynamic Tx switching between 2Tx-2Tx switching
    uplinkTxSwitchingBandParametersList-v1700 SEQUENCE (SIZE (1..maxSimultaneousBands)) OF UplinkTxSwitchingBandParameters-v1700  OPTIONAL
}

BandCombination-UplinkTxSwitch-v1720 ::= SEQUENCE {
    bandCombination-v1720                    BandCombination-v1720                 OPTIONAL,
    uplinkTxSwitching-OptionSupport2T2T-r17  ENUMERATED {switchedUL, dualUL, both} OPTIONAL
}

BandCombination-UplinkTxSwitch-v1730 ::= SEQUENCE {
    bandCombination-v1730                    BandCombination-v1730                 OPTIONAL
}

BandCombination-UplinkTxSwitch-v1740 ::= SEQUENCE {
    bandCombination-v1740                    BandCombination-v1740                 OPTIONAL
}

ULTxSwitchingBandPair-r16 ::=       SEQUENCE {
    bandIndexUL1-r16                    INTEGER(1..maxSimultaneousBands),
    bandIndexUL2-r16                    INTEGER(1..maxSimultaneousBands),
    uplinkTxSwitchingPeriod-r16         ENUMERATED {n35us, n140us, n210us},
    uplinkTxSwitching-DL-Interruption-r16 BIT STRING (SIZE(1..maxSimultaneousBands)) OPTIONAL
}

ULTxSwitchingBandPair-v1700 ::=     SEQUENCE {
    uplinkTxSwitchingPeriod2T2T-r17     ENUMERATED {n35us, n140us, n210us}     OPTIONAL
}

UplinkTxSwitchingBandParameters-v1700 ::=       SEQUENCE {
    bandIndex-r17                                   INTEGER(1..maxSimultaneousBands),
    uplinkTxSwitching2T2T-PUSCH-TransCoherence-r17  ENUMERATED {nonCoherent, fullCoherent}            OPTIONAL
}

BandParameters ::=                      CHOICE {
    eutra                               SEQUENCE {
        bandEUTRA                           FreqBandIndicatorEUTRA,
        ca-BandwidthClassDL-EUTRA           CA-BandwidthClassEUTRA                 OPTIONAL,
        ca-BandwidthClassUL-EUTRA           CA-BandwidthClassEUTRA                 OPTIONAL
    },
    nr                                  SEQUENCE {
        bandNR                              FreqBandIndicatorNR,
        ca-BandwidthClassDL-NR              CA-BandwidthClassNR                    OPTIONAL,
        ca-BandwidthClassUL-NR              CA-BandwidthClassNR                    OPTIONAL
    }
}

BandParameters-v1540 ::=            SEQUENCE {
    srs-CarrierSwitch                   CHOICE {
        nr                                  SEQUENCE {
            srs-SwitchingTimesListNR            SEQUENCE (SIZE (1..maxSimultaneousBands)) OF SRS-SwitchingTimeNR
        },
        eutra                               SEQUENCE {
            srs-SwitchingTimesListEUTRA         SEQUENCE (SIZE (1..maxSimultaneousBands)) OF SRS-SwitchingTimeEUTRA
        }
    }                                                                              OPTIONAL,
    srs-TxSwitch                    SEQUENCE {
        supportedSRS-TxPortSwitch       ENUMERATED {t1r2, t1r4, t2r4, t1r4-t2r4, t1r1, t2r2, t4r4, notSupported},
        txSwitchImpactToRx              INTEGER (1..32)                            OPTIONAL,
        txSwitchWithAnotherBand         INTEGER (1..32)                            OPTIONAL
    }                                                                              OPTIONAL
}

BandParameters-v1610 ::=         SEQUENCE {
    srs-TxSwitch-v1610               SEQUENCE {
        supportedSRS-TxPortSwitch-v1610  ENUMERATED {t1r1-t1r2, t1r1-t1r2-t1r4, t1r1-t1r2-t2r2-t2r4, t1r1-t1r2-t2r2-t1r4-t2r4,
                                                         t1r1-t2r2, t1r1-t2r2-t4r4}
    }                                                                              OPTIONAL
}

BandParameters-v1710 ::=         SEQUENCE {
    -- R1 23-8-3	SRS Antenna switching for >4Rx
    srs-AntennaSwitchingBeyond4RX-r17                     SEQUENCE {
        -- 1. Support of SRS antenna switching xTyR with y>4
        supportedSRS-TxPortSwitchBeyond4Rx-r17                BIT STRING (SIZE (11)),
        -- 2. Report the entry number of the first-listed band with UL in the band combination that affects this DL
        entryNumberAffectBeyond4Rx-r17                        INTEGER (1..32)      OPTIONAL,
        -- 3. Report the entry number of the first-listed band with UL in the band combination that switches together with this UL
        entryNumberSwitchBeyond4Rx-r17                        INTEGER (1..32)      OPTIONAL
    }                                                                              OPTIONAL
}

BandParameters-v1730 ::= SEQUENCE {
    -- R1 39-3-2	Affected bands for inter-band CA during SRS carrier switching
    srs-SwitchingAffectedBandsListNR-r17    SEQUENCE (SIZE (1..maxSimultaneousBands)) OF SRS-SwitchingAffectedBandsNR-r17
}

ScalingFactorSidelink-r16 ::=       ENUMERATED {f0p4, f0p75, f0p8, f1}

IntraBandPowerClass-r16 ::=         ENUMERATED {pc2, pc3, spare6, spare5, spare4, spare3, spare2, spare1}

SRS-SwitchingAffectedBandsNR-r17 ::= BIT STRING (SIZE (1..maxSimultaneousBands))

-- TAG-BANDCOMBINATIONLIST-STOP
-- ASN1STOP

-- ASN1START

-- TAG-BANDCOMBINATIONLISTSIDELINKEUTRANR-START

BandCombinationListSidelinkEUTRA-NR-r16 ::= SEQUENCE (SIZE (1..maxBandComb)) OF BandCombinationParametersSidelinkEUTRA-NR-r16

BandCombinationListSidelinkEUTRA-NR-v1630 ::= SEQUENCE (SIZE (1..maxBandComb)) OF BandCombinationParametersSidelinkEUTRA-NR-v1630

BandCombinationListSidelinkEUTRA-NR-v1710 ::= SEQUENCE (SIZE (1..maxBandComb)) OF BandCombinationParametersSidelinkEUTRA-NR-v1710

BandCombinationParametersSidelinkEUTRA-NR-r16 ::= SEQUENCE (SIZE (1..maxSimultaneousBands)) OF BandParametersSidelinkEUTRA-NR-r16

BandCombinationParametersSidelinkEUTRA-NR-v1630 ::= SEQUENCE (SIZE (1..maxSimultaneousBands)) OF BandParametersSidelinkEUTRA-NR-v1630

BandCombinationParametersSidelinkEUTRA-NR-v1710 ::= SEQUENCE (SIZE (1..maxSimultaneousBands)) OF BandParametersSidelinkEUTRA-NR-v1710

BandParametersSidelinkEUTRA-NR-r16 ::= CHOICE {
    eutra                                  SEQUENCE {
        bandParametersSidelinkEUTRA1-r16       OCTET STRING                         OPTIONAL,
        bandParametersSidelinkEUTRA2-r16       OCTET STRING                         OPTIONAL
    },
    nr                                     SEQUENCE {
        bandParametersSidelinkNR-r16           BandParametersSidelink-r16
    }
}

BandParametersSidelinkEUTRA-NR-v1630 ::= CHOICE {
    eutra                                    NULL,
    nr                                       SEQUENCE {
        tx-Sidelink-r16                          ENUMERATED {supported}                          OPTIONAL,
        rx-Sidelink-r16                          ENUMERATED {supported}                          OPTIONAL,
        sl-CrossCarrierScheduling-r16            ENUMERATED {supported}                          OPTIONAL
    }
}

BandParametersSidelinkEUTRA-NR-v1710 ::= CHOICE {
    eutra                                    NULL,
    nr                                       SEQUENCE {
        --32-4
        sl-TransmissionMode2-PartialSensing-r17  SEQUENCE {
            harq-TxProcessModeTwoSidelink-r17        ENUMERATED {n8, n16},
            scs-CP-PatternTxSidelinkModeTwo-r17      CHOICE {
                fr1-r17                                  SEQUENCE {
                    scs-15kHz-r17                            BIT STRING (SIZE (16))                OPTIONAL,
                    scs-30kHz-r17                            BIT STRING (SIZE (16))                OPTIONAL,
                    scs-60kHz-r17                            BIT STRING (SIZE (16))                OPTIONAL
                },
                fr2-r17                                  SEQUENCE {
                    scs-60kHz-r17                            BIT STRING (SIZE (16))                OPTIONAL,
                    scs-120kHz-r17                           BIT STRING (SIZE (16))                OPTIONAL
                }
            }                                                                                      OPTIONAL,
            extendedCP-Mode2PartialSensing-r17           ENUMERATED {supported}                    OPTIONAL,
            dl-openLoopPC-Sidelink-r17                   ENUMERATED {supported}                    OPTIONAL
        }                                                                                          OPTIONAL,
        --32-2a:  Receiving NR sidelink of PSFCH
        rx-sidelinkPSFCH-r17                     ENUMERATED {n5, n15, n25, n32, n35, n45, n50, n64} OPTIONAL,
        --32-5a-1
        tx-IUC-Scheme1-Mode2Sidelink-r17         ENUMERATED {supported}                            OPTIONAL,
        --32-5b-1
        tx-IUC-Scheme2-Mode2Sidelink-r17         ENUMERATED {n4, n8, n16}                          OPTIONAL
    }
}

BandParametersSidelink-r16 ::= SEQUENCE {
    freqBandSidelink-r16           FreqBandIndicatorNR
}

-- TAG-BANDCOMBINATIONLISTSIDELINKEUTRANR-STOP
-- ASN1STOP

-- ASN1START

-- TAG-BANDCOMBINATIONLISTSLDISCOVERY-START

BandCombinationListSL-Discovery-r17 ::= SEQUENCE (SIZE (1..maxSimultaneousBands)) OF BandParametersSidelinkDiscovery-r17

BandParametersSidelinkDiscovery-r17 ::= SEQUENCE {
    sl-CrossCarrierScheduling-r17            ENUMERATED {supported}                            OPTIONAL,
    --R1 32-4: Transmitting NR sidelink mode 2 with partial sensing
    sl-TransmissionMode2-PartialSensing-r17  SEQUENCE {
        harq-TxProcessModeTwoSidelink-r17        ENUMERATED {n8, n16},
        scs-CP-PatternTxSidelinkModeTwo-r17      CHOICE {
            fr1-r17                                  SEQUENCE {
                scs-15kHz-r17                            BIT STRING (SIZE (16))                OPTIONAL,
                scs-30kHz-r17                            BIT STRING (SIZE (16))                OPTIONAL,
                scs-60kHz-r17                            BIT STRING (SIZE (16))                OPTIONAL
            },
            fr2-r17                                  SEQUENCE {
                scs-60kHz-r17                            BIT STRING (SIZE (16))                OPTIONAL,
                scs-120kHz-r17                           BIT STRING (SIZE (16))                OPTIONAL
            }
        }                                                                                      OPTIONAL,
        extendedCP-Mode2PartialSensing-r17           ENUMERATED {supported}                    OPTIONAL,
        dl-openLoopPC-Sidelink-r17                   ENUMERATED {supported}                    OPTIONAL
    }                                                                                          OPTIONAL,
    --R1 32-5a-1: Transmitting Inter-UE coordination scheme 1 in NR sidelink mode 2
    tx-IUC-Scheme1-Mode2Sidelink-r17         ENUMERATED {supported}                            OPTIONAL
}

-- TAG-BANDCOMBINATIONLISTSLDISCOVERY-STOP
-- ASN1STOP

-- ASN1START

-- TAG-CA-BANDWIDTHCLASSEUTRA-START

CA-BandwidthClassEUTRA ::=          ENUMERATED {a, b, c, d, e, f, ...}

-- TAG-CA-BANDWIDTHCLASSEUTRA-STOP
-- ASN1STOP

-- ASN1START

-- TAG-CA-BANDWIDTHCLASSNR-START

-- R4 17-6: new CA BW Classes R2~R12
CA-BandwidthClassNR ::=             ENUMERATED {a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, ...,r2-v1730, r3-v1730, r4-v1730, r5-v1730, r6-v1730, r7-v1730, r8-v1730, r9-v1730, r10-v1730, r11-v1730, r12-v1730 }

-- TAG-CA-BANDWIDTHCLASSNR-STOP
-- ASN1STOP

-- ASN1START

-- TAG-CA-PARAMETERSEUTRA-START

CA-ParametersEUTRA ::=                          SEQUENCE {
    multipleTimingAdvance                           ENUMERATED {supported}                          OPTIONAL,
    simultaneousRx-Tx                               ENUMERATED {supported}                          OPTIONAL,
    supportedNAICS-2CRS-AP                          BIT STRING (SIZE (1..8))                        OPTIONAL,
    additionalRx-Tx-PerformanceReq                  ENUMERATED {supported}                          OPTIONAL,
    ue-CA-PowerClass-N                              ENUMERATED {class2}                             OPTIONAL,
    supportedBandwidthCombinationSetEUTRA-v1530     BIT STRING (SIZE (1..32))                       OPTIONAL,
    ...
}

CA-ParametersEUTRA-v1560 ::=                    SEQUENCE {
    fd-MIMO-TotalWeightedLayers                     INTEGER (2..128)                                OPTIONAL
}

CA-ParametersEUTRA-v1570 ::=                    SEQUENCE {
    dl-1024QAM-TotalWeightedLayers                  INTEGER (0..10)                                 OPTIONAL
}

-- TAG-CA-PARAMETERSEUTRA-STOP
-- ASN1STOP

-- ASN1START

-- TAG-CA-PARAMETERSNR-START

CA-ParametersNR ::=                 SEQUENCE {
    dummy                                         ENUMERATED {supported}      OPTIONAL,
    parallelTxSRS-PUCCH-PUSCH                     ENUMERATED {supported}      OPTIONAL,
    parallelTxPRACH-SRS-PUCCH-PUSCH               ENUMERATED {supported}      OPTIONAL,
    simultaneousRxTxInterBandCA                   ENUMERATED {supported}      OPTIONAL,
    simultaneousRxTxSUL                           ENUMERATED {supported}      OPTIONAL,
    diffNumerologyAcrossPUCCH-Group               ENUMERATED {supported}      OPTIONAL,
    diffNumerologyWithinPUCCH-GroupSmallerSCS     ENUMERATED {supported}      OPTIONAL,
    supportedNumberTAG                            ENUMERATED {n2, n3, n4}     OPTIONAL,
    ...
}

CA-ParametersNR-v1540 ::=           SEQUENCE {
    simultaneousSRS-AssocCSI-RS-AllCC                       INTEGER (5..32)         OPTIONAL,
    csi-RS-IM-ReceptionForFeedbackPerBandComb               SEQUENCE {
        maxNumberSimultaneousNZP-CSI-RS-ActBWP-AllCC            INTEGER (1..64)     OPTIONAL,
        totalNumberPortsSimultaneousNZP-CSI-RS-ActBWP-AllCC     INTEGER (2..256)    OPTIONAL
    }                                                                               OPTIONAL,
    simultaneousCSI-ReportsAllCC                            INTEGER (5..32)         OPTIONAL,
    dualPA-Architecture                                     ENUMERATED {supported}  OPTIONAL
}

CA-ParametersNR-v1550 ::=           SEQUENCE {
    dummy                               ENUMERATED {supported}                      OPTIONAL
}

CA-ParametersNR-v1560 ::=           SEQUENCE {
    diffNumerologyWithinPUCCH-GroupLargerSCS      ENUMERATED {supported}            OPTIONAL
}

CA-ParametersNR-v15g0 ::=           SEQUENCE {
    simultaneousRxTxInterBandCAPerBandPair        SimultaneousRxTxPerBandPair       OPTIONAL,
    simultaneousRxTxSULPerBandPair                SimultaneousRxTxPerBandPair       OPTIONAL
}

CA-ParametersNR-v1610 ::=           SEQUENCE {
     -- R1 9-3: Parallel MsgA and SRS/PUCCH/PUSCH transmissions across CCs in inter-band CA
    parallelTxMsgA-SRS-PUCCH-PUSCH-r16                ENUMERATED {supported}        OPTIONAL,
     -- R1 9-4: MsgA operation in a band combination including SUL
    msgA-SUL-r16                                      ENUMERATED {supported}        OPTIONAL,
    -- R1 10-9c: Joint search space group switching across multiple cells
    jointSearchSpaceSwitchAcrossCells-r16             ENUMERATED {supported}        OPTIONAL,
    -- R1 14-5: Half-duplex UE behaviour in TDD CA for same SCS
    half-DuplexTDD-CA-SameSCS-r16                     ENUMERATED {supported}        OPTIONAL,
    -- R1 18-4: SCell dormancy within active time
    scellDormancyWithinActiveTime-r16                 ENUMERATED {supported}        OPTIONAL,
    -- R1 18-4a: SCell dormancy outside active time
    scellDormancyOutsideActiveTime-r16                ENUMERATED {supported}        OPTIONAL,
    -- R1 18-6: Cross-carrier A-CSI RS triggering with different SCS
    crossCarrierA-CSI-trigDiffSCS-r16                 ENUMERATED {higherA-CSI-SCS,lowerA-CSI-SCS,both}   OPTIONAL,
    -- R1 18-6a: Default QCL assumption for cross-carrier A-CSI-RS triggering
    defaultQCL-CrossCarrierA-CSI-Trig-r16             ENUMERATED {diffOnly, both}   OPTIONAL,
    -- R1 18-7: CA with non-aligned frame boundaries for inter-band CA
    interCA-NonAlignedFrame-r16                       ENUMERATED {supported}        OPTIONAL,
    simul-SRS-Trans-BC-r16                            ENUMERATED {n2}               OPTIONAL,
    interFreqDAPS-r16                                 SEQUENCE {
        interFreqAsyncDAPS-r16                            ENUMERATED {supported}    OPTIONAL,
        interFreqDiffSCS-DAPS-r16                         ENUMERATED {supported}    OPTIONAL,
        interFreqMultiUL-TransmissionDAPS-r16             ENUMERATED {supported}    OPTIONAL,
        interFreqSemiStaticPowerSharingDAPS-Mode1-r16     ENUMERATED {supported}    OPTIONAL,
        interFreqSemiStaticPowerSharingDAPS-Mode2-r16     ENUMERATED {supported}    OPTIONAL,
        interFreqDynamicPowerSharingDAPS-r16              ENUMERATED {short, long}  OPTIONAL,
        interFreqUL-TransCancellationDAPS-r16             ENUMERATED {supported}    OPTIONAL
    }                                                                               OPTIONAL,
    codebookParametersPerBC-r16                       CodebookParameters-v1610      OPTIONAL,
    -- R1 16-2a-10 Value of R for BD/CCE
    blindDetectFactor-r16                             INTEGER (1..2)                OPTIONAL,
    -- R1 11-2a: Capability on the number of CCs for monitoring a maximum number of BDs and non-overlapped CCEs per span when configured
    -- with DL CA with Rel-16 PDCCH monitoring capability on all the serving cells
    pdcch-MonitoringCA-r16                            SEQUENCE {
        maxNumberOfMonitoringCC-r16                       INTEGER (2..16),
        supportedSpanArrangement-r16                      ENUMERATED {alignedOnly, alignedAndNonAligned}
    }                                                                               OPTIONAL,
    -- R1 11-2c: Number of carriers for CCE/BD scaling with DL CA with mix of Rel. 16 and Rel. 15 PDCCH monitoring capabilities on
    -- different carriers
    pdcch-BlindDetectionCA-Mixed-r16                  SEQUENCE {
        pdcch-BlindDetectionCA1-r16                       INTEGER (1..15),
        pdcch-BlindDetectionCA2-r16                       INTEGER (1..15),
        supportedSpanArrangement-r16                      ENUMERATED {alignedOnly, alignedAndNonAligned}
    }                                                                               OPTIONAL,
    -- R1 11-2d: Capability on the number of CCs for monitoring a maximum number of BDs and non-overlapped CCEs per span for MCG and for
    -- SCG when configured for NR-DC operation with Rel-16 PDCCH monitoring capability on all the serving cells
    pdcch-BlindDetectionMCG-UE-r16                    INTEGER (1..14)               OPTIONAL,
    pdcch-BlindDetectionSCG-UE-r16                    INTEGER (1..14)               OPTIONAL,
    -- R1 11-2e: Number of carriers for CCE/BD scaling for MCG and for SCG when configured for NR-DC operation with mix of Rel. 16 and
    -- Rel. 15 PDCCH monitoring capabilities on different carriers
    pdcch-BlindDetectionMCG-UE-Mixed-r16              SEQUENCE {
        pdcch-BlindDetectionMCG-UE1-r16                   INTEGER (0..15),
        pdcch-BlindDetectionMCG-UE2-r16                   INTEGER (0..15)
    }                                                                               OPTIONAL,
    pdcch-BlindDetectionSCG-UE-Mixed-r16              SEQUENCE {
        pdcch-BlindDetectionSCG-UE1-r16                   INTEGER (0..15),
        pdcch-BlindDetectionSCG-UE2-r16                   INTEGER (0..15)
    }                                                                               OPTIONAL,
     -- R1 18-5 cross-carrier scheduling with different SCS in DL CA
    crossCarrierSchedulingDL-DiffSCS-r16              ENUMERATED {low-to-high, high-to-low, both} OPTIONAL,
    -- R1 18-5a Default QCL assumption for cross-carrier scheduling
    crossCarrierSchedulingDefaultQCL-r16              ENUMERATED {diff-only, both}  OPTIONAL,
    -- R1 18-5b cross-carrier scheduling with different SCS in UL CA
    crossCarrierSchedulingUL-DiffSCS-r16              ENUMERATED {low-to-high, high-to-low, both} OPTIONAL,
    -- R1 13.19a Simultaneous positioning SRS and MIMO SRS transmission for a given BC
    simul-SRS-MIMO-Trans-BC-r16                       ENUMERATED {n2}               OPTIONAL,
    -- R1 16-3a, 16-3a-1, 16-3b, 16-3b-1: New Individual Codebook
    codebookParametersAdditionPerBC-r16               CodebookParametersAdditionPerBC-r16         OPTIONAL,
    -- R1 16-8: Mixed codebook
    codebookComboParametersAdditionPerBC-r16          CodebookComboParametersAdditionPerBC-r16    OPTIONAL
}

CA-ParametersNR-v1630 ::= SEQUENCE {
    -- R1 22-5b: Simultaneous transmission of SRS for antenna switching and SRS for CB/NCB /BM for inter-band UL CA
    -- R1 22-5d: Simultaneous transmission of SRS for antenna switching for inter-band UL CA
    simulTX-SRS-AntSwitchingInterBandUL-CA-r16        SimulSRS-ForAntennaSwitching-r16            OPTIONAL,
    -- R4 8-5: supported beam management type for inter-band CA
    beamManagementType-r16                            ENUMERATED {ibm, dummy}                       OPTIONAL,
    -- R4 7-3a: UL frequency separation class with aggregate BW and Gap BW
    intraBandFreqSeparationUL-AggBW-GapBW-r16         ENUMERATED {classI, classII, classIII}      OPTIONAL,
    -- RAN 89: Case B in case of Inter-band CA with non-aligned frame boundaries
    interCA-NonAlignedFrame-B-r16                     ENUMERATED {supported}                      OPTIONAL
}

CA-ParametersNR-v1640 ::= SEQUENCE {
    -- R4 7-5: Support of reporting UL Tx DC locations for uplink intra-band CA.
    uplinkTxDC-TwoCarrierReport-r16                               ENUMERATED {supported}          OPTIONAL,
    -- RAN 22-6: Support of up to 3 different numerologies in the same NR PUCCH group for NR part of EN-DC, NGEN-DC, NE-DC and NR-CA
    -- where UE is not configured with two NR PUCCH groups
    maxUpTo3Diff-NumerologiesConfigSinglePUCCH-grp-r16            PUCCH-Grp-CarrierTypes-r16      OPTIONAL,
    -- RAN 22-6a: Support of up to 4 different numerologies in the same NR PUCCH group for NR part of EN-DC, NGEN-DC, NE-DC and NR-CA
    -- where UE is not configured with two NR PUCCH groups
    maxUpTo4Diff-NumerologiesConfigSinglePUCCH-grp-r16            PUCCH-Grp-CarrierTypes-r16      OPTIONAL,
    -- RAN 22-7: Support two PUCCH groups for NR-CA with 3 or more bands with at least two carrier types
    twoPUCCH-Grp-ConfigurationsList-r16 SEQUENCE (SIZE (1..maxTwoPUCCH-Grp-ConfigList-r16)) OF TwoPUCCH-Grp-Configurations-r16 OPTIONAL,
    -- R1 22-7a: Different numerology across NR PUCCH groups
    diffNumerologyAcrossPUCCH-Group-CarrierTypes-r16              ENUMERATED {supported}          OPTIONAL,
    -- R1 22-7b: Different numerologies across NR carriers within the same NR PUCCH group, with PUCCH on a carrier of smaller SCS
    diffNumerologyWithinPUCCH-GroupSmallerSCS-CarrierTypes-r16    ENUMERATED {supported}          OPTIONAL,
    -- R1 22-7c: Different numerologies across NR carriers within the same NR PUCCH group, with PUCCH on a carrier of larger SCS
    diffNumerologyWithinPUCCH-GroupLargerSCS-CarrierTypes-r16     ENUMERATED {supported}          OPTIONAL,
    -- R1 11-2f: add the replicated FGs of 11-2a/c with restriction for non-aligned span case
    -- with DL CA with Rel-16 PDCCH monitoring capability on all the serving cells
    pdcch-MonitoringCA-NonAlignedSpan-r16                         INTEGER (2..16)                 OPTIONAL,
    -- R1 11-2g: add the replicated FGs of 11-2a/c with restriction for non-aligned span case
    pdcch-BlindDetectionCA-Mixed-NonAlignedSpan-r16               SEQUENCE {
        pdcch-BlindDetectionCA1-r16                                   INTEGER (1..15),
        pdcch-BlindDetectionCA2-r16                                   INTEGER (1..15)
    }                                                                                             OPTIONAL
}

CA-ParametersNR-v1690 ::= SEQUENCE {
    csi-ReportingCrossPUCCH-Grp-r16          SEQUENCE {
        computationTimeForA-CSI-r16              ENUMERATED {sameAsNoCross, relaxed},
        additionalSymbols-r16                    SEQUENCE {
            scs-15kHz-additionalSymbols-r16          ENUMERATED {s14, s28}            OPTIONAL,
            scs-30kHz-additionalSymbols-r16          ENUMERATED {s14, s28}            OPTIONAL,
            scs-60kHz-additionalSymbols-r16          ENUMERATED {s14, s28, s56}       OPTIONAL,
            scs-120kHz-additionalSymbols-r16         ENUMERATED {s14, s28, s56}       OPTIONAL
        }                                                                             OPTIONAL,
        sp-CSI-ReportingOnPUCCH-r16              ENUMERATED {supported}               OPTIONAL,
        sp-CSI-ReportingOnPUSCH-r16              ENUMERATED {supported}               OPTIONAL,
        carrierTypePairList-r16                  SEQUENCE (SIZE (1..maxCarrierTypePairList-r16)) OF CarrierTypePair-r16
    }                                                                                 OPTIONAL
}

CA-ParametersNR-v16a0 ::= SEQUENCE {
    pdcch-BlindDetectionMixedList-r16    SEQUENCE(SIZE(1..maxNrofPdcch-BlindDetectionMixed-1-r16)) OF PDCCH-BlindDetectionMixedList-r16
}

CA-ParametersNR-v1700 ::= SEQUENCE {
    -- R1 23-9-1: Basic Features of Further Enhanced Port-Selection Type II Codebook (FeType-II) per band combination information
    codebookParametersfetype2PerBC-r17               CodebookParametersfetype2PerBC-r17           OPTIONAL,
    -- R4 18-4: Support of enhanced Demodulation requirements for CA in HST SFN FR1
    demodulationEnhancementCA-r17                    ENUMERATED {supported}                       OPTIONAL,
    -- R4 20-1: Maximum uplink duty cycle for NR inter-band CA power class 2
    maxUplinkDutyCycle-interBandCA-PC2-r17           ENUMERATED {n50, n60, n70, n80, n90, n100}   OPTIONAL,
    -- R4 20-2: Maximum uplink duty cycle for NR SUL combination power class 2
    maxUplinkDutyCycle-SULcombination-PC2-r17        ENUMERATED {n50, n60, n70, n80, n90, n100}   OPTIONAL,
    beamManagementType-CBM-r17                       ENUMERATED {supported}                       OPTIONAL,
    -- R1 25-18: Parallel PUCCH and PUSCH transmission across CCs in inter-band CA
    parallelTxPUCCH-PUSCH-r17                        ENUMERATED {supported}      OPTIONAL,
    -- R1 23-9-5	Active CSI-RS resources and ports for mixed codebook types in any slot per band combination
    codebookComboParameterMixedTypePerBC-r17         CodebookComboParameterMixedTypePerBC-r17     OPTIONAL,
   -- R1 23-7-1	Basic Features of CSI Enhancement for Multi-TRP
    mTRP-CSI-EnhancementPerBC-r17                    SEQUENCE {
        maxNumNZP-CSI-RS-r17                             INTEGER (2..8),
        cSI-Report-mode-r17                              ENUMERATED {mode1, mode2, both},
        supportedComboAcrossCCs-r17                      SEQUENCE (SIZE (1..16)) OF CSI-MultiTRP-SupportedCombinations-r17,
        codebookMode-NCJT-r17	ENUMERATED{mode1,mode1And2}
    }                                                                                             OPTIONAL,
     -- R1 23-7-1b	Active CSI-RS resources and ports in the presence of multi-TRP CSI
    codebookComboParameterMultiTRP-PerBC-r17         CodebookComboParameterMultiTRP-PerBC-r17     OPTIONAL,
    -- R1 24-8b: 32 DL HARQ processes for FR 2-2 - maximum number of component carriers
    maxCC-32-DL-HARQ-ProcessFR2-2-r17                ENUMERATED {n1, n2, n3, n4, n6, n8, n16, n32} OPTIONAL,
    -- R1 24-9b: 32 UL HARQ processes for FR 2-2 - maximum number of component carriers
    maxCC-32-UL-HARQ-ProcessFR2-2-r17                ENUMERATED {n1, n2, n3, n4, n5, n8, n16, n32}  OPTIONAL,
    -- R1 34-2: Cross-carrier scheduling from SCell to PCell/PSCell (Type B)
    crossCarrierSchedulingSCell-SpCellTypeB-r17      CrossCarrierSchedulingSCell-SpCell-r17       OPTIONAL,
-- R1 34-1: Cross-carrier scheduling from SCell to PCell/PSCell with search space restrictions (Type A)
    crossCarrierSchedulingSCell-SpCellTypeA-r17      CrossCarrierSchedulingSCell-SpCell-r17       OPTIONAL,
    -- R1 34-1a: DCI formats on PCell/PSCell USS set(s) support
    dci-FormatsPCellPSCellUSS-Sets-r17               ENUMERATED {supported}                       OPTIONAL,
    -- R1 34-3: Disabling scaling factor alpha when sSCell is deactivated
    disablingScalingFactorDeactSCell-r17             ENUMERATED {supported}                       OPTIONAL,
    -- R1 34-4: Disabling scaling factor alpha when sSCell is deactivated
    disablingScalingFactorDormantSCell-r17           ENUMERATED {supported}                       OPTIONAL,
    -- R1 34-5: Non-aligned frame boundaries between PCell/PSCell and sSCell
    non-AlignedFrameBoundaries-r17 SEQUENCE {
        scs15kHz-15kHz-r17                           BIT STRING (SIZE (1..496))                   OPTIONAL,
        scs15kHz-30kHz-r17                           BIT STRING (SIZE (1..496))                   OPTIONAL,
        scs15kHz-60kHz-r17                           BIT STRING (SIZE (1..496))                   OPTIONAL,
        scs30kHz-30kHz-r17                           BIT STRING (SIZE (1..496))                   OPTIONAL,
        scs30kHz-60kHz-r17                           BIT STRING (SIZE (1..496))                   OPTIONAL,
        scs60kHz-60kHz-r17                           BIT STRING (SIZE (1..496))                   OPTIONAL
    }                                                                                             OPTIONAL
}

CA-ParametersNR-v1720 ::= SEQUENCE {
    -- R1 39-1: Parallel SRS and PUCCH/PUSCH transmission across CCs in intra-band non-contiguous CA
    parallelTxSRS-PUCCH-PUSCH-intraBand-r17          ENUMERATED {supported}                       OPTIONAL,
    -- R1 39-2: Parallel PRACH and SRS/PUCCH/PUSCH transmissions across CCs in intra-band non-contiguous CA
    parallelTxPRACH-SRS-PUCCH-PUSCH-intraBand-r17    ENUMERATED {supported}                       OPTIONAL,
    -- R1 25-9: Semi-static PUCCH cell switching for a single PUCCH group only
    semiStaticPUCCH-CellSwitchSingleGroup-r17        SEQUENCE {
        pucch-Group-r17                                ENUMERATED {primaryGroupOnly, secondaryGroupOnly, eitherPrimaryOrSecondaryGroup},
        pucch-Group-Config-r17                           PUCCH-Group-Config-r17
    }                                                                                             OPTIONAL,
    -- R1 25-9a: Semi-static PUCCH cell switching for two PUCCH groups
    semiStaticPUCCH-CellSwitchTwoGroups-r17    SEQUENCE (SIZE (1..maxTwoPUCCH-Grp-ConfigList-r17)) OF TwoPUCCH-Grp-Configurations-r17 OPTIONAL,
    -- R1 25-10: PUCCH cell switching based on dynamic indication for same length of overlapping PUCCH slots/sub-slots for a single
    -- PUCCH group only
    dynamicPUCCH-CellSwitchSameLengthSingleGroup-r17 SEQUENCE {
        pucch-Group-r17                                  ENUMERATED {primaryGroupOnly, secondaryGroupOnly, eitherPrimaryOrSecondaryGroup},
        pucch-Group-Config-r17                       PUCCH-Group-Config-r17
    }                                                                                             OPTIONAL,
    -- R1 25-10a: PUCCH cell switching based on dynamic indication for different length of overlapping PUCCH slots/sub-slots
    -- for a single PUCCH group only
    dynamicPUCCH-CellSwitchDiffLengthSingleGroup-r17 SEQUENCE {
        pucch-Group-r17                                  ENUMERATED {primaryGroupOnly, secondaryGroupOnly, eitherPrimaryOrSecondaryGroup},
        pucch-Group-Config-r17                           PUCCH-Group-Config-r17
    }                                                                                             OPTIONAL,
    -- R1 25-10b: PUCCH cell switching based on dynamic indication for same length of overlapping PUCCH slots/sub-slots for two PUCCH
    -- groups
    dynamicPUCCH-CellSwitchSameLengthTwoGroups-r17   SEQUENCE (SIZE (1..maxTwoPUCCH-Grp-ConfigList-r17)) OF TwoPUCCH-Grp-Configurations-r17
                                                                                                  OPTIONAL,
    -- R1 25-10c: PUCCH cell switching based on dynamic indication for different length of overlapping PUCCH slots/sub-slots for two
    -- PUCCH groups
    dynamicPUCCH-CellSwitchDiffLengthTwoGroups-r17   SEQUENCE (SIZE (1..maxTwoPUCCH-Grp-ConfigList-r17)) OF TwoPUCCH-Grp-Configurations-r17
                                                                                                  OPTIONAL,
    -- R1 33-2a: ACK/NACK based HARQ-ACK feedback and RRC-based enabling/disabling ACK/NACK-based
    -- feedback for dynamic scheduling for multicast
    ack-NACK-FeedbackForMulticast-r17                ENUMERATED {supported}                       OPTIONAL,
    -- R1 33-2d: PTP retransmission for multicast dynamic scheduling
    ptp-Retx-Multicast-r17                           ENUMERATED {supported}                       OPTIONAL,
    -- R1 33-4: NACK-only based HARQ-ACK feedback for RRC-based enabling/disabling multicast with ACK/NACK transforming
    nack-OnlyFeedbackForMulticast-r17                ENUMERATED {supported}                       OPTIONAL,
    -- R1 33-4a: NACK-only based HARQ-ACK feedback for multicast corresponding to a specific sequence or a PUCCH transmission
    nack-OnlyFeedbackSpecificResourceForMulticast-r17 ENUMERATED {supported}                      OPTIONAL,
    -- R1 33-5-1a: ACK/NACK based HARQ-ACK feedback and RRC-based enabling/disabling ACK/NACK-based feedback
    -- for SPS group-common PDSCH for multicast
    ack-NACK-FeedbackForSPS-Multicast-r17            ENUMERATED {supported}                       OPTIONAL,
    -- R1 33-5-1d: PTP retransmission for SPS group-common PDSCH for multicast
    ptp-Retx-SPS-Multicast-r17                       ENUMERATED {supported}                       OPTIONAL,
    -- R4 26-1: Higher Power Limit CA DC
    higherPowerLimit-r17                             ENUMERATED {supported}                       OPTIONAL,
    -- R1 39-4: Parallel MsgA and SRS/PUCCH/PUSCH transmissions across CCs in intra-band non-contiguous CA
    parallelTxMsgA-SRS-PUCCH-PUSCH-intraBand-r17     ENUMERATED {supported}                       OPTIONAL,
    -- R1 24-11a: Capability on the number of CCs for monitoring a maximum number of BDs and non-overlapped CCEs per span when
    -- configured with DL CA with Rel-17 PDCCH monitoring capability on all the serving cells
    pdcch-MonitoringCA-r17                           INTEGER (4..16)                              OPTIONAL,
    -- R1 24-11f: Capability on the number of CCs for monitoring a maximum number of BDs and non-overlapped CCEs for MCG and for SCG
    -- when configured for NR-DC operation with Rel-17 PDCCH monitoring capability on all the serving cells
    pdcch-BlindDetectionMCG-SCG-List-r17             SEQUENCE(SIZE(1..maxNrofPdcch-BlindDetection-r17)) OF PDCCH-BlindDetectionMCG-SCG-r17
                                                                                                  OPTIONAL,
    -- R1 24-11c: Number of carriers for CCE/BD scaling with DL CA with mix of Rel. 17 and Rel. 15 PDCCH monitoring capabilities on
    -- different Carriers
    -- R1 24-11g: Number of carriers for CCE/BD scaling for MCG and for SCG when configured for NR-DC operation with mix of Rel. 17 and
    -- Rel. 15 PDCCH monitoring capabilities on different carriers
    pdcch-BlindDetectionMixedList1-r17               SEQUENCE(SIZE(1..maxNrofPdcch-BlindDetection-r17)) OF PDCCH-BlindDetectionMixed-r17
                                                                                                  OPTIONAL,
    -- R1 24-11d: Number of carriers for CCE/BD scaling with DL CA with mix of Rel. 17 and Rel. 16 PDCCH monitoring capabilities on
    -- different Carriers
    -- R1 24-11h: Number of carriers for CCE/BD scaling for MCG and for SCG when configured for NR-DC operation with mix of Rel. 17 and
    -- Rel. 16 PDCCH monitoring capabilities on different carriers
    pdcch-BlindDetectionMixedList2-r17               SEQUENCE(SIZE(1..maxNrofPdcch-BlindDetection-r17)) OF PDCCH-BlindDetectionMixed-r17
                                                                                                  OPTIONAL,
    -- R1 24-11e: Number of carriers for CCE/BD scaling with DL CA with mix of Rel. 17, Rel. 16 and Rel. 15 PDCCH monitoring
    -- capabilities on different carriers
    -- R1 24-11i: Number of carriers for CCE/BD scaling for MCG and for SCG when configured for NR-DC operation with mix of Rel. 17,
    -- Rel. 16 and Rel. 15 PDCCH monitoring capabilities on different carriers
    pdcch-BlindDetectionMixedList3-r17               SEQUENCE(SIZE(1..maxNrofPdcch-BlindDetection-r17)) OF PDCCH-BlindDetectionMixed1-r17
                                                                                                  OPTIONAL
}

CA-ParametersNR-v1730 ::= SEQUENCE {
    -- R1 30-4a: DM-RS bundling for PUSCH repetition type A (per BC)
    dmrs-BundlingPUSCH-RepTypeAPerBC-r17                   ENUMERATED {supported}                         OPTIONAL,
    -- R1 30-4b: DM-RS bundling for PUSCH repetition type B(per BC)
    dmrs-BundlingPUSCH-RepTypeBPerBC-r17                   ENUMERATED {supported}                         OPTIONAL,
    -- R1 30-4c: DM-RS bundling for TB processing over multi-slot PUSCH(per BC)
    dmrs-BundlingPUSCH-multiSlotPerBC-r17                  ENUMERATED {supported}                         OPTIONAL,
    -- R1 30-4d: DMRS bundling for PUCCH repetitions(per BC)
    dmrs-BundlingPUCCH-RepPerBC-r17                        ENUMERATED {supported}                         OPTIONAL,
    -- R1 30-4g: Restart DM-RS bundling (per BC)
    dmrs-BundlingRestartPerBC-r17                          ENUMERATED {supported}                         OPTIONAL,
    -- R1 30-4h: DM-RS bundling for non-back-to-back transmission (per BC)
    dmrs-BundlingNonBackToBackTX-PerBC-r17                 ENUMERATED {supported}                         OPTIONAL,
    -- R1 39-3-1: Stay on the target CC for SRS carrier switching
    stayOnTargetCC-SRS-CarrierSwitch-r17                   ENUMERATED {supported}                         OPTIONAL,
    -- R1 33-3-3a: FDM-ed Type-1 and Type-2 HARQ-ACK codebooks for multiplexing HARQ-ACK for unicast and HARQ-ACK for multicast
    fdm-CodebookForMux-UnicastMulticastHARQ-ACK-r17        ENUMERATED {supported}                         OPTIONAL,
    -- R1 33-3-3b: Mode 2 TDM-ed Type-1 and Type-2 HARQ-ACK codebook for multiplexing HARQ-ACK for unicast and HARQ-ACK for multicast
    mode2-TDM-CodebookForMux-UnicastMulticastHARQ-ACK-r17  ENUMERATED {supported}                         OPTIONAL,
    -- R1 33-3-4: Mode 1 for type1 codebook generation
    mode1-ForType1-CodebookGeneration-r17                  ENUMERATED {supported}                         OPTIONAL,
    -- R1 33-5-1j: NACK-only based HARQ-ACK feedback for multicast corresponding to a specific sequence or a PUCCH transmission
    -- for SPS group-commmon PDSCH for multicast
    nack-OnlyFeedbackSpecificResourceForSPS-Multicast-r17  ENUMERATED {supported}                         OPTIONAL,
    -- R1 33-8-2: Up to 2 PUCCH resources configuration for multicast feedback for dynamically scheduled multicast
    multiPUCCH-ConfigForMulticast-r17                      ENUMERATED {supported}                         OPTIONAL,
    -- R1 33-8-3: PUCCH resource configuration for multicast feedback for SPS GC-PDSCH
    pucch-ConfigForSPS-Multicast-r17                       ENUMERATED {supported}                         OPTIONAL,
    -- The following parameter is associated with R1 33-2a, R1 33-3-3a, and R1 33-3-3b, and is not a RAN1 FG.
    maxNumberG-RNTI-HARQ-ACK-Codebook-r17                  INTEGER (1..4)                                 OPTIONAL,
    -- R1 33-3-5: Feedback multiplexing for unicast PDSCH and group-common PDSCH for multicast with same priority and different codebook
    -- type
    mux-HARQ-ACK-UnicastMulticast-r17                      ENUMERATED {supported}                         OPTIONAL
}

CA-ParametersNR-v1740 ::= SEQUENCE {
    -- R1 33-5-1f: NACK-only based HARQ-ACK feedback for multicast RRC-based enabling/disabling NACK-only based feedback
    -- for SPS group-common PDSCH for multicast
    nack-OnlyFeedbackForSPS-Multicast-r17                  ENUMERATED {supported}                         OPTIONAL,
    -- R1 33-8-1: PUCCH resource configuration for multicast feedback for dynamically scheduled multicast
    singlePUCCH-ConfigForMulticast-r17                     ENUMERATED {supported}                         OPTIONAL
}

CrossCarrierSchedulingSCell-SpCell-r17 ::= SEQUENCE {
    supportedSCS-Combinations-r17              SEQUENCE {
        scs15kHz-15kHz-r17                         ENUMERATED {supported}                         OPTIONAL,
        scs15kHz-30kHz-r17                         ENUMERATED {supported}                         OPTIONAL,
        scs15kHz-60kHz-r17                         ENUMERATED {supported}                         OPTIONAL,
        scs30kHz-30kHz-r17                         BIT STRING (SIZE (1..496))                     OPTIONAL,
        scs30kHz-60kHz-r17                         BIT STRING (SIZE (1..496))                     OPTIONAL,
        scs60kHz-60kHz-r17                         BIT STRING (SIZE (1..496))                     OPTIONAL
    },
    pdcch-MonitoringOccasion-r17               ENUMERATED {val1, val2}
}

PDCCH-BlindDetectionMixedList-r16 ::=       SEQUENCE {
    pdcch-BlindDetectionCA-MixedExt-r16        CHOICE {
        pdcch-BlindDetectionCA-Mixed-v16a0                PDCCH-BlindDetectionCA-MixedExt-r16,
        pdcch-BlindDetectionCA-Mixed-NonAlignedSpan-v16a0 PDCCH-BlindDetectionCA-MixedExt-r16
    }                                                                                             OPTIONAL,
    pdcch-BlindDetectionCG-UE-MixedExt-r16     SEQUENCE{
    pdcch-BlindDetectionMCG-UE-Mixed-v16a0                PDCCH-BlindDetectionCG-UE-MixedExt-r16,
        pdcch-BlindDetectionSCG-UE-Mixed-v16a0            PDCCH-BlindDetectionCG-UE-MixedExt-r16
    }                                                                                             OPTIONAL
}

PDCCH-BlindDetectionCA-MixedExt-r16 ::=    SEQUENCE {
    pdcch-BlindDetectionCA1-r16                INTEGER (1..15),
    pdcch-BlindDetectionCA2-r16                INTEGER (1..15)
}

PDCCH-BlindDetectionCG-UE-MixedExt-r16 ::= SEQUENCE {
    pdcch-BlindDetectionCG-UE1-r16             INTEGER (0..15),
    pdcch-BlindDetectionCG-UE2-r16             INTEGER (0..15)
}

PDCCH-BlindDetectionMCG-SCG-r17 ::=        SEQUENCE {
    pdcch-BlindDetectionMCG-UE-r17             INTEGER (1..15),
    pdcch-BlindDetectionSCG-UE-r17             INTEGER (1..15)
}

PDCCH-BlindDetectionMixed-r17 ::=           SEQUENCE {
    pdcch-BlindDetectionCA-Mixed-r17           PDCCH-BlindDetectionCA-Mixed-r17                   OPTIONAL,
    pdcch-BlindDetectionCG-UE-Mixed-r17        SEQUENCE{
        pdcch-BlindDetectionMCG-UE-Mixed-v17       PDCCH-BlindDetectionCG-UE-Mixed-r17,
        pdcch-BlindDetectionSCG-UE-Mixed-v17       PDCCH-BlindDetectionCG-UE-Mixed-r17
    }                                                                                             OPTIONAL
}

PDCCH-BlindDetectionCG-UE-Mixed-r17 ::=    SEQUENCE {
    pdcch-BlindDetectionCG-UE1-r17             INTEGER (0..15),
    pdcch-BlindDetectionCG-UE2-r17             INTEGER (0..15)
}

PDCCH-BlindDetectionCA-Mixed-r17 ::=       SEQUENCE {
    pdcch-BlindDetectionCA1-r17                INTEGER (1..15)                                    OPTIONAL,
    pdcch-BlindDetectionCA2-r17                INTEGER (1..15)                                    OPTIONAL
}
PDCCH-BlindDetectionMixed1-r17 ::=          SEQUENCE {
    pdcch-BlindDetectionCA-Mixed1-r17          PDCCH-BlindDetectionCA-Mixed1-r17                  OPTIONAL,
    pdcch-BlindDetectionCG-UE-Mixed1-r17       SEQUENCE{
        pdcch-BlindDetectionMCG-UE-Mixed1-v17      PDCCH-BlindDetectionCG-UE-Mixed1-r17,
        pdcch-BlindDetectionSCG-UE-Mixed1-v17      PDCCH-BlindDetectionCG-UE-Mixed1-r17
    }                                                                                             OPTIONAL
}

PDCCH-BlindDetectionCG-UE-Mixed1-r17 ::=   SEQUENCE {
    pdcch-BlindDetectionCG-UE1-r17             INTEGER (0..15),
    pdcch-BlindDetectionCG-UE2-r17             INTEGER (0..15),
    pdcch-BlindDetectionCG-UE3-r17             INTEGER (0..15)
}

PDCCH-BlindDetectionCA-Mixed1-r17 ::=      SEQUENCE {
    pdcch-BlindDetectionCA1-r17                INTEGER (1..15)                                    OPTIONAL,
    pdcch-BlindDetectionCA2-r17                INTEGER (1..15)                                    OPTIONAL,
    pdcch-BlindDetectionCA3-r17                INTEGER (1..15)                                    OPTIONAL
}

SimulSRS-ForAntennaSwitching-r16 ::= SEQUENCE {
    supportSRS-xTyR-xLessThanY-r16       ENUMERATED {supported}                     OPTIONAL,
    supportSRS-xTyR-xEqualToY-r16        ENUMERATED {supported}                     OPTIONAL,
    supportSRS-AntennaSwitching-r16      ENUMERATED {supported}                     OPTIONAL
}

TwoPUCCH-Grp-Configurations-r16 ::=  SEQUENCE {
    pucch-PrimaryGroupMapping-r16        TwoPUCCH-Grp-ConfigParams-r16,
    pucch-SecondaryGroupMapping-r16      TwoPUCCH-Grp-ConfigParams-r16
}

TwoPUCCH-Grp-Configurations-r17 ::=  SEQUENCE {
    primaryPUCCH-GroupConfig-r17         PUCCH-Group-Config-r17,
    secondaryPUCCH-GroupConfig-r17       PUCCH-Group-Config-r17
}

TwoPUCCH-Grp-ConfigParams-r16 ::=    SEQUENCE {
    pucch-GroupMapping-r16               PUCCH-Grp-CarrierTypes-r16,
    pucch-TX-r16                         PUCCH-Grp-CarrierTypes-r16
}


CarrierTypePair-r16 ::=             SEQUENCE {
    carrierForCSI-Measurement-r16       PUCCH-Grp-CarrierTypes-r16,
    carrierForCSI-Reporting-r16         PUCCH-Grp-CarrierTypes-r16
}

PUCCH-Grp-CarrierTypes-r16 ::=       SEQUENCE {
    fr1-NonSharedTDD-r16                 ENUMERATED {supported}                     OPTIONAL,
    fr1-SharedTDD-r16                    ENUMERATED {supported}                     OPTIONAL,
    fr1-NonSharedFDD-r16                 ENUMERATED {supported}                     OPTIONAL,
    fr2-r16                              ENUMERATED {supported}                     OPTIONAL
}

PUCCH-Group-Config-r17 ::=           SEQUENCE {
    fr1-FR1-NonSharedTDD-r17             ENUMERATED {supported}                     OPTIONAL,
    fr2-FR2-NonSharedTDD-r17             ENUMERATED {supported}                     OPTIONAL,
    fr1-FR2-NonSharedTDD-r17             ENUMERATED {supported}                     OPTIONAL
}

-- TAG-CA-PARAMETERSNR-STOP
-- ASN1STOP

-- ASN1START

-- TAG-CA-PARAMETERS-NRDC-START

CA-ParametersNRDC ::=                         SEQUENCE {
     ca-ParametersNR-ForDC                       CA-ParametersNR                              OPTIONAL,
     ca-ParametersNR-ForDC-v1540                 CA-ParametersNR-v1540                        OPTIONAL,
     ca-ParametersNR-ForDC-v1550                 CA-ParametersNR-v1550                        OPTIONAL,
     ca-ParametersNR-ForDC-v1560                 CA-ParametersNR-v1560                        OPTIONAL,
     featureSetCombinationDC                     FeatureSetCombinationId                      OPTIONAL
}

CA-ParametersNRDC-v15g0 ::=                  SEQUENCE {
    ca-ParametersNR-ForDC-v15g0                   CA-ParametersNR-v15g0                        OPTIONAL
}

CA-ParametersNRDC-v1610 ::= SEQUENCE {
    -- R1 18-1: Semi-static power sharing mode1 between MCG and SCG cells of same FR for NR dual connectivity
    intraFR-NR-DC-PwrSharingMode1-r16        ENUMERATED {supported}         OPTIONAL,
    -- R1 18-1a: Semi-static power sharing mode 2 between MCG and SCG cells of same FR for NR dual connectivity
    intraFR-NR-DC-PwrSharingMode2-r16        ENUMERATED {supported}         OPTIONAL,
    -- R1 18-1b: Dynamic power sharing between MCG and SCG cells of same FR for NR dual connectivity
    intraFR-NR-DC-DynamicPwrSharing-r16      ENUMERATED {short, long}       OPTIONAL,
    asyncNRDC-r16                            ENUMERATED {supported}         OPTIONAL
}

CA-ParametersNRDC-v1630 ::=                         SEQUENCE {
     ca-ParametersNR-ForDC-v1610                 CA-ParametersNR-v1610                        OPTIONAL,
     ca-ParametersNR-ForDC-v1630                 CA-ParametersNR-v1630                        OPTIONAL
}

CA-ParametersNRDC-v1640 ::=                  SEQUENCE {
    ca-ParametersNR-ForDC-v1640                  CA-ParametersNR-v1640                        OPTIONAL
}

CA-ParametersNRDC-v1650 ::=                  SEQUENCE {
    supportedCellGrouping-r16                    BIT STRING (SIZE (1..maxCellGroupings-r16))  OPTIONAL
}

CA-ParametersNRDC-v16a0 ::=                  SEQUENCE {
    ca-ParametersNR-ForDC-v16a0                  CA-ParametersNR-v16a0                        OPTIONAL
}

CA-ParametersNRDC-v1700 ::=                   SEQUENCE {
    -- R1 31-9: Indicates the support of simultaneous transmission and reception of an IAB-node from multiple parent nodes
    simultaneousRxTx-IAB-MultipleParents-r17     ENUMERATED {supported}                       OPTIONAL,
    condPSCellAdditionNRDC-r17                   ENUMERATED {supported}                       OPTIONAL,
    scg-ActivationDeactivationNRDC-r17           ENUMERATED {supported}                       OPTIONAL,
    scg-ActivationDeactivationResumeNRDC-r17     ENUMERATED {supported}                       OPTIONAL,
    beamManagementType-CBM-r17                   ENUMERATED {supported}                       OPTIONAL
}

CA-ParametersNRDC-v1720 ::=                  SEQUENCE {
    ca-ParametersNR-ForDC-v1700                  CA-ParametersNR-v1700                        OPTIONAL,
    ca-ParametersNR-ForDC-v1720                  CA-ParametersNR-v1720                        OPTIONAL
}

CA-ParametersNRDC-v1730 ::=                  SEQUENCE {
    ca-ParametersNR-ForDC-v1730                   CA-ParametersNR-v1730                        OPTIONAL
}

-- TAG-CA-PARAMETERS-NRDC-STOP
-- ASN1STOP

-- ASN1START

-- TAG-CARRIERAGGREGATIONVARIANT-START

CarrierAggregationVariant ::=          SEQUENCE {
    fr1fdd-FR1TDD-CA-SpCellOnFR1FDD         ENUMERATED {supported}                      OPTIONAL,
    fr1fdd-FR1TDD-CA-SpCellOnFR1TDD         ENUMERATED {supported}                      OPTIONAL,
    fr1fdd-FR2TDD-CA-SpCellOnFR1FDD         ENUMERATED {supported}                      OPTIONAL,
    fr1fdd-FR2TDD-CA-SpCellOnFR2TDD         ENUMERATED {supported}                      OPTIONAL,
    fr1tdd-FR2TDD-CA-SpCellOnFR1TDD         ENUMERATED {supported}                      OPTIONAL,
    fr1tdd-FR2TDD-CA-SpCellOnFR2TDD         ENUMERATED {supported}                      OPTIONAL,
    fr1fdd-FR1TDD-FR2TDD-CA-SpCellOnFR1FDD  ENUMERATED {supported}                      OPTIONAL,
    fr1fdd-FR1TDD-FR2TDD-CA-SpCellOnFR1TDD  ENUMERATED {supported}                      OPTIONAL,
    fr1fdd-FR1TDD-FR2TDD-CA-SpCellOnFR2TDD  ENUMERATED {supported}                      OPTIONAL
}

-- TAG-CARRIERAGGREGATIONVARIANT-STOP
-- ASN1STOP

-- ASN1START

-- TAG-CODEBOOKPARAMETERS-START

CodebookParameters ::=             SEQUENCE {
    type1                                  SEQUENCE {
        singlePanel                           SEQUENCE {
            supportedCSI-RS-ResourceList      SEQUENCE (SIZE (1..maxNrofCSI-RS-Resources)) OF SupportedCSI-RS-Resource,
            modes                                  ENUMERATED {mode1, mode1andMode2},
            maxNumberCSI-RS-PerResourceSet    INTEGER (1..8)
        },
        multiPanel                            SEQUENCE {
            supportedCSI-RS-ResourceList      SEQUENCE (SIZE (1..maxNrofCSI-RS-Resources)) OF SupportedCSI-RS-Resource,
            modes                                  ENUMERATED {mode1, mode2, both},
            nrofPanels                            ENUMERATED {n2, n4},
            maxNumberCSI-RS-PerResourceSet    INTEGER (1..8)
        }                                                                                                               OPTIONAL
    },
    type2                                  SEQUENCE {
        supportedCSI-RS-ResourceList        SEQUENCE (SIZE (1..maxNrofCSI-RS-Resources)) OF SupportedCSI-RS-Resource,
        parameterLx                           INTEGER (2..4),
        amplitudeScalingType                 ENUMERATED {wideband, widebandAndSubband},
        amplitudeSubsetRestriction          ENUMERATED {supported}              OPTIONAL
    }                                                                                                                   OPTIONAL,
    type2-PortSelection                  SEQUENCE {
        supportedCSI-RS-ResourceList        SEQUENCE (SIZE (1..maxNrofCSI-RS-Resources)) OF SupportedCSI-RS-Resource,
        parameterLx                           INTEGER (2..4),
        amplitudeScalingType                 ENUMERATED {wideband, widebandAndSubband}
    }                                                                                                                   OPTIONAL
}

CodebookParameters-v1610 ::=        SEQUENCE {
    supportedCSI-RS-ResourceListAlt-r16  SEQUENCE {
        type1-SinglePanel-r16                SEQUENCE (SIZE (1..maxNrofCSI-RS-Resources)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16)  OPTIONAL,
        type1-MultiPanel-r16                 SEQUENCE (SIZE (1..maxNrofCSI-RS-Resources)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16)  OPTIONAL,
        type2-r16                            SEQUENCE (SIZE (1..maxNrofCSI-RS-Resources)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16)  OPTIONAL,
        type2-PortSelection-r16              SEQUENCE (SIZE (1..maxNrofCSI-RS-Resources)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16)  OPTIONAL
    }                                                                                                                                       OPTIONAL
}

CodebookParametersAddition-r16 ::=      SEQUENCE {
    etype2-r16                             SEQUENCE {
        -- R1 16-3a Regular eType 2 R=1
        etype2R1-r16                           SEQUENCE {
            supportedCSI-RS-ResourceListAdd-r16    SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r16)) OF
                                                                                              INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16)
        },
        -- R1 16-3a-1 Regular eType 2 R=2
        etype2R2-r16                           SEQUENCE {
            supportedCSI-RS-ResourceListAdd-r16    SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r16)) OF
                                                                                              INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16)
        }                                                                  OPTIONAL,
        -- R1 16-3a-2: Support of parameter combinations 7-8
        paramComb7-8-r16                       ENUMERATED {supported}      OPTIONAL,
        -- R1 16-3a-3: Support of rank 3,4
        rank3-4-r16                            ENUMERATED {supported}      OPTIONAL,
        -- R1 16-3a-4: CBSR with soft amplitude restriction
        amplitudeSubsetRestriction-r16         ENUMERATED {supported}      OPTIONAL
    }                                                                      OPTIONAL,
    etype2-PS-r16                          SEQUENCE {
        -- R1 16-3b Regular eType 2 R=1 PortSelection
        etype2R1-PortSelection-r16             SEQUENCE {
            supportedCSI-RS-ResourceListAdd-r16    SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r16)) OF
                                                                                              INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16)
        },
        -- R1 16-3b-1 Regular eType 2 R=2 PortSelection
        etype2R2-PortSelection-r16             SEQUENCE {
            supportedCSI-RS-ResourceListAdd-r16    SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r16)) OF
                                                                                              INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16)
        }                                                                  OPTIONAL,
        -- R1 16-3b-2: Support of rank 3,4
        rank3-4-r16                            ENUMERATED {supported}      OPTIONAL
    }                                                                      OPTIONAL
}

CodebookComboParametersAddition-r16 ::= SEQUENCE {
    -- R1 16-8 Mixed codebook types
    type1SP-Type2-null-r16                 SEQUENCE {
        supportedCSI-RS-ResourceListAdd-r16    SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r16)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16)
    }                                                          OPTIONAL,
    type1SP-Type2PS-null-r16               SEQUENCE {
        supportedCSI-RS-ResourceListAdd-r16    SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r16)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16)
    }                                                          OPTIONAL,
    type1SP-eType2R1-null-r16              SEQUENCE {
        supportedCSI-RS-ResourceListAdd-r16    SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r16)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16)
    }                                                          OPTIONAL,
    type1SP-eType2R2-null-r16              SEQUENCE {
        supportedCSI-RS-ResourceListAdd-r16    SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r16)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16)
    }                                                          OPTIONAL,
    type1SP-eType2R1PS-null-r16            SEQUENCE {
        supportedCSI-RS-ResourceListAdd-r16    SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r16)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16)
    }                                                          OPTIONAL,
    type1SP-eType2R2PS-null-r16            SEQUENCE {
        supportedCSI-RS-ResourceListAdd-r16    SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r16)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16)
    }                                                          OPTIONAL,
    type1SP-Type2-Type2PS-r16              SEQUENCE {
        supportedCSI-RS-ResourceListAdd-r16    SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r16)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16)
    }                                                          OPTIONAL,
    type1MP-Type2-null-r16                 SEQUENCE {
    supportedCSI-RS-ResourceListAdd-r16        SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r16)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16)
    }                                                          OPTIONAL,
    type1MP-Type2PS-null-r16               SEQUENCE {
        supportedCSI-RS-ResourceListAdd-r16    SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r16)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16)
    }                                                          OPTIONAL,
    type1MP-eType2R1-null-r16              SEQUENCE {
        supportedCSI-RS-ResourceListAdd-r16    SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r16)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16)
    }                                                          OPTIONAL,
    type1MP-eType2R2-null-r16              SEQUENCE {
        supportedCSI-RS-ResourceListAdd-r16    SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r16)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16)
    }                                                          OPTIONAL,
    type1MP-eType2R1PS-null-r16            SEQUENCE {
        supportedCSI-RS-ResourceListAdd-r16    SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r16)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16)
    }                                                          OPTIONAL,
    type1MP-eType2R2PS-null-r16            SEQUENCE {
        supportedCSI-RS-ResourceListAdd-r16    SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r16)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16)
    }                                                          OPTIONAL,
    type1MP-Type2-Type2PS-r16              SEQUENCE {
        supportedCSI-RS-ResourceListAdd-r16    SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r16)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16)
    }                                                          OPTIONAL
}

CodebookParametersfetype2-r17 ::= SEQUENCE {
    -- R1 23-9-1  Basic Features of Further Enhanced Port-Selection Type II Codebook (FeType-II)
    fetype2basic-r17        SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r16)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16),
    -- R1 23-9-2  Support of M=2 and R=1 for FeType-II
    fetype2R1-r17           SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r17)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16)
                                                       OPTIONAL,
    -- R1 23-9-4  Support of R = 2 for FeType-II
    fetype2R2-r17           SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r17)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16)
                                                       OPTIONAL,
    -- R1 23-9-3  Support of rank 3, 4 for FeType-II
    fetype2Rank3Rank4-r17   ENUMERATED {supported}     OPTIONAL
}

CodebookComboParameterMixedType-r17 ::= SEQUENCE {
    -- R1 23-9-5 Active CSI-RS resources and ports for mixed codebook types in any slot
    type1SP-feType2PS-null-r17              SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r16)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16)
                                                               OPTIONAL,
    type1SP-feType2PS-M2R1-null-r17         SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r16)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16)
                                                               OPTIONAL,
    type1SP-feType2PS-M2R2-null-r1          SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r16)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16)
                                                               OPTIONAL,
    type1SP-Type2-feType2-PS-M1-r17         SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r16)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16)
                                                               OPTIONAL,
    type1SP-Type2-feType2-PS-M2R1-r17       SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r16)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16)
                                                               OPTIONAL,
    type1SP-eType2R1-feType2-PS-M1-r17      SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r16)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16)
                                                               OPTIONAL,
    type1SP-eType2R1-feType2-PS-M2R1-r17    SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r16)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16)
                                                               OPTIONAL,
    type1MP-feType2PS-null-r17              SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r16)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16)
                                                               OPTIONAL,
    type1MP-feType2PS-M2R1-null-r17         SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r16)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16)
                                                               OPTIONAL,
    type1MP-feType2PS-M2R2-null-r17         SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r16)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16)
                                                               OPTIONAL,
    type1MP-Type2-feType2-PS-M1-r17         SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r16)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16)
                                                               OPTIONAL,
    type1MP-Type2-feType2-PS-M2R1-r17       SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r16)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16)
                                                               OPTIONAL,
    type1MP-eType2R1-feType2-PS-M1-r17      SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r16)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16)
                                                               OPTIONAL,
    type1MP-eType2R1-feType2-PS-M2R1-r17    SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r16)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16)
                                                               OPTIONAL
}

CodebookComboParameterMultiTRP-r17 ::= SEQUENCE {
    -- R1 23-7-1b	Active CSI-RS resources and ports in the presence of multi-TRP CSI
    --  {Codebook 2, Codebook 3} =(NULL, NULL}
    nCJT-null-null                        SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r16)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16)
                                                               OPTIONAL,
    nCJT1SP-null-null                     SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r16)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16)
                                                               OPTIONAL,
    --    {Codebook 2, Codebook 3} = {( {"Rel 16 combinations in FG 16-8"}
    nCJT-Type2-null-r16                   SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r16)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16)
                                                               OPTIONAL,
    nCJT-Type2PS-null-r16                 SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r16)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16)
                                                               OPTIONAL,
    nCJT-eType2R1-null-r16                SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r16)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16)
                                                               OPTIONAL,
    nCJT-eType2R2-null-r16                SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r16)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16)
                                                               OPTIONAL,
    nCJT-eType2R1PS-null-r16              SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r16)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16)
                                                               OPTIONAL,
    nCJT-eType2R2PS-null-r16              SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r16)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16)
                                                               OPTIONAL,
    nCJT-Type2-Type2PS-r16                SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r16)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16)
                                                               OPTIONAL,
    nCJT1SP-Type2-null-r16                SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r16)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16)
                                                               OPTIONAL,
    nCJT1SP-Type2PS-null-r16              SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r16)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16)
                                                               OPTIONAL,
    nCJT1SP-eType2R1-null-r16             SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r16)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16)
                                                               OPTIONAL,
    nCJT1SP-eType2R2-null-r16             SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r16)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16)
                                                               OPTIONAL,
    nCJT1SP-eType2R1PS-null-r16           SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r16)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16)
                                                               OPTIONAL,
    nCJT1SP-eType2R2PS-null-r16           SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r16)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16)
                                                               OPTIONAL,
    nCJT1SP-Type2-Type2PS-r16             SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r16)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16)
                                                               OPTIONAL,
    -- {Codebook 2, Codebook 3} = {"New Rel17 combinations in FG 23-9-5"}
    nCJT-feType2PS-null-r17               SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r16)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16)
                                                               OPTIONAL,
    nCJT-feType2PS-M2R1-null-r17          SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r16)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16)
                                                               OPTIONAL,
    nCJT-feType2PS-M2R2-null-r17          SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r16)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16)
                                                               OPTIONAL,
    nCJT-Type2-feType2-PS-M1-r17          SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r16)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16)
                                                               OPTIONAL,
    nCJT-Type2-feType2-PS-M2R1-r17        SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r16)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16)
                                                               OPTIONAL,
    nCJT-eType2R1-feType2-PS-M1-r17       SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r16)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16)
                                                               OPTIONAL,
    nCJT-eType2R1-feType2-PS-M2R1-r17     SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r16)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16)
                                                               OPTIONAL,
    nCJT1SP-feType2PS-null-r17            SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r16)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16)
                                                               OPTIONAL,
    nCJT1SP-feType2PS-M2R1-null-r17       SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r16)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16)
                                                               OPTIONAL,
    nCJT1SP-feType2PS-M2R2-null-r1        SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r16)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16)
                                                               OPTIONAL,
    nCJT1SP-Type2-feType2-PS-M1-r17       SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r16)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16)
                                                               OPTIONAL,
    nCJT1SP-Type2-feType2-PS-M2R1-r17     SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r16)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16)
                                                               OPTIONAL,
    nCJT1SP-eType2R1-feType2-PS-M1-r17    SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r16)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16)
                                                               OPTIONAL,
    nCJT1SP-eType2R1-feType2-PS-M2R1-r17  SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r16)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16)
                                                               OPTIONAL
}

CodebookParametersAdditionPerBC-r16 ::=  SEQUENCE {
    -- R1 16-3a Regular eType 2 R=1
    etype2R1-r16                    SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r16)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16)
                                                               OPTIONAL,
    -- R1 16-3a-1 Regular eType 2 R=2
    etype2R2-r16                    SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r16)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16)
                                                                      OPTIONAL,
    -- R1 16-3b Regular eType 2 R=1 PortSelection
    etype2R1-PortSelection-r16      SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r16)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16)
                                                               OPTIONAL,
    -- R1 16-3b-1 Regular eType 2 R=2 PortSelection
    etype2R2-PortSelection-r16      SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r16)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16)
                                                               OPTIONAL
}

CodebookComboParametersAdditionPerBC-r16 ::= SEQUENCE {
    -- R1 16-8 Mixed codebook types
    type1SP-Type2-null-r16          SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r16)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16)
                                                               OPTIONAL,
    type1SP-Type2PS-null-r16        SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r16)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16)
                                                               OPTIONAL,
    type1SP-eType2R1-null-r16       SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r16)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16)
                                                               OPTIONAL,
    type1SP-eType2R2-null-r16       SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r16)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16)
                                                               OPTIONAL,
    type1SP-eType2R1PS-null-r16     SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r16)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16)
                                                               OPTIONAL,
    type1SP-eType2R2PS-null-r16     SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r16)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16)
                                                               OPTIONAL,
    type1SP-Type2-Type2PS-r16       SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r16)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16)
                                                               OPTIONAL,
    type1MP-Type2-null-r16          SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r16)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16)
                                                               OPTIONAL,
    type1MP-Type2PS-null-r16        SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r16)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16)
                                                               OPTIONAL,
    type1MP-eType2R1-null-r16       SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r16)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16)
                                                               OPTIONAL,
    type1MP-eType2R2-null-r16       SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r16)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16)
                                                               OPTIONAL,
    type1MP-eType2R1PS-null-r16     SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r16)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16)
                                                               OPTIONAL,
    type1MP-eType2R2PS-null-r16     SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r16)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16)
                                                               OPTIONAL,
    type1MP-Type2-Type2PS-r16       SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r16)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16)
                                                               OPTIONAL
}

CodebookParametersfetype2PerBC-r17 ::= SEQUENCE {
    -- R1 23-9-1	Basic Features of Further Enhanced Port-Selection Type II Codebook (FeType-II)
    fetype2basic-r17    SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r16)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16),
    -- R1 23-9-2	Support of M=2 and R=1 for FeType-II
    fetype2R1-r17       SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r17)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16)
                                  OPTIONAL,
    -- R1 23-9-4	Support of R = 2 for FeType-II
    fetype2R2-r17       SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r17)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16)
                                  OPTIONAL
}

CodebookComboParameterMixedTypePerBC-r17 ::= SEQUENCE {
    -- R1 23-9-5 Active CSI-RS resources and ports for mixed codebook types in any slot
    type1SP-feType2PS-null-r17      SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r16)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16)
                                                               OPTIONAL,
    type1SP-feType2PS-M2R1-null-r17 SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r16)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16)
                                                               OPTIONAL,
    type1SP-feType2PS-M2R2-null-r17 SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r16)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16)
                                                              OPTIONAL,
    type1SP-Type2-feType2-PS-M1-r17 SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r16)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16)
                                                               OPTIONAL,
    type1SP-Type2-feType2-PS-M2R1-r17 SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r16)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16)
                                                               OPTIONAL,
    type1SP-eType2R1-feType2-PS-M1-r17 SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r16)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16)
                                                               OPTIONAL,
    type1SP-eType2R1-feType2-PS-M2R1-r17 SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r16)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16)
                                                               OPTIONAL,
    type1MP-feType2PS-null-r17      SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r16)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16)
                                                               OPTIONAL,
    type1MP-feType2PS-M2R1-null-r17 SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r16)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16)
                                                               OPTIONAL,
    type1MP-feType2PS-M2R2-null-r17 SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r16)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16)
                                                               OPTIONAL,
    type1MP-Type2-feType2-PS-M1-r17 SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r16)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16)
                                                               OPTIONAL,
    type1MP-Type2-feType2-PS-M2R1-r17 SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r16)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16)
                                                               OPTIONAL,
    type1MP-eType2R1-feType2-PS-M1-r17 SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r16)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16)
                                                               OPTIONAL,
    type1MP-eType2R1-feType2-PS-M2R1-r17 SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r16)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16)
                                                               OPTIONAL
}

CodebookComboParameterMultiTRP-PerBC-r17 ::= SEQUENCE {
    -- R1 23-7-1b	Active CSI-RS resources and ports in the presence of multi-TRP CSI
    --  {Codebook 2, Codebook 3} =(NULL, NULL}
    nCJT-null-null               SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r16)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16)
                                                               OPTIONAL,
    nCJT1SP-null-null            SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r16)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16)
                                                               OPTIONAL,
    --    {Codebook 2, Codebook 3} = {( {"Rel 16 combinations in FG 16-8"}
    nCJT-Type2-null-r16          SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r16)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16)
                                                               OPTIONAL,
    nCJT-Type2PS-null-r16        SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r16)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16)
                                                               OPTIONAL,
    nCJT-eType2R1-null-r16       SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r16)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16)
                                                               OPTIONAL,
    nCJT-eType2R2-null-r16       SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r16)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16)
                                                               OPTIONAL,
    nCJT-eType2R1PS-null-r16     SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r16)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16)
                                                               OPTIONAL,
    nCJT-eType2R2PS-null-r16     SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r16)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16)
                                                               OPTIONAL,
    nCJT-Type2-Type2PS-r16       SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r16)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16)
                                                               OPTIONAL,
    nCJT1SP-Type2-null-r16       SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r16)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16)
                                                               OPTIONAL,
    nCJT1SP-Type2PS-null-r16     SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r16)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16)
                                                               OPTIONAL,
    nCJT1SP-eType2R1-null-r16    SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r16)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16)
                                                               OPTIONAL,
    nCJT1SP-eType2R2-null-r16    SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r16)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16)
                                                               OPTIONAL,
    nCJT1SP-eType2R1PS-null-r16  SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r16)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16)
                                                               OPTIONAL,
    nCJT1SP-eType2R2PS-null-r16  SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r16)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16)
                                                               OPTIONAL,
    nCJT1SP-Type2-Type2PS-r16    SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r16)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16)
                                                               OPTIONAL,
    -- {Codebook 2, Codebook 3} = {"New Rel17 combinations in FG 23-9-5"}
    nCJT-feType2PS-null-r17         SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r16)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16)
                                                               OPTIONAL,
    nCJT-feType2PS-M2R1-null-r17    SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r16)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16)
                                                               OPTIONAL,
    nCJT-feType2PS-M2R2-null-r17    SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r16)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16)
                                                               OPTIONAL,
    nCJT-Type2-feType2-PS-M1-r17    SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r16)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16)
                                                               OPTIONAL,
    nCJT-Type2-feType2-PS-M2R1-r17  SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r16)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16)
                                                               OPTIONAL,
    nCJT-eType2R1-feType2-PS-M1-r17 SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r16)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16)
                                                               OPTIONAL,
    nCJT-eType2R1-feType2-PS-M2R1-r17 SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r16)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16)
                                                               OPTIONAL,
    nCJT1SP-feType2PS-null-r17      SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r16)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16)
                                                               OPTIONAL,
    nCJT1SP-feType2PS-M2R1-null-r17 SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r16)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16)
                                                               OPTIONAL,
    nCJT1SP-feType2PS-M2R2-null-r1  SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r16)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16)
                                                               OPTIONAL,
    nCJT1SP-Type2-feType2-PS-M1-r17 SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r16)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16)
                                                               OPTIONAL,
    nCJT1SP-Type2-feType2-PS-M2R1-r17 SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r16)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16)
                                                               OPTIONAL,
    nCJT1SP-eType2R1-feType2-PS-M1-r17 SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r16)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16)
                                                               OPTIONAL,
    nCJT1SP-eType2R1-feType2-PS-M2R1-r17 SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesExt-r16)) OF INTEGER (0..maxNrofCSI-RS-ResourcesAlt-1-r16)
                                                               OPTIONAL
}

CodebookVariantsList-r16 ::= SEQUENCE (SIZE (1..maxNrofCSI-RS-ResourcesAlt-r16)) OF SupportedCSI-RS-Resource

SupportedCSI-RS-Resource ::=     SEQUENCE {
    maxNumberTxPortsPerResource      ENUMERATED {p2, p4, p8, p12, p16, p24, p32},
    maxNumberResourcesPerBand        INTEGER (1..64),
    totalNumberTxPortsPerBand        INTEGER (2..256)
}

-- TAG-CODEBOOKPARAMETERS-STOP
-- ASN1STOP

-- ASN1START

-- TAG-FEATURESETCOMBINATION-START

FeatureSetCombination ::=       SEQUENCE (SIZE (1..maxSimultaneousBands)) OF FeatureSetsPerBand

FeatureSetsPerBand ::=          SEQUENCE (SIZE (1..maxFeatureSetsPerBand)) OF FeatureSet

FeatureSet ::=                  CHOICE {
    eutra                           SEQUENCE {
        downlinkSetEUTRA                FeatureSetEUTRA-DownlinkId,
        uplinkSetEUTRA                  FeatureSetEUTRA-UplinkId
    },
    nr                              SEQUENCE {
        downlinkSetNR                   FeatureSetDownlinkId,
        uplinkSetNR                     FeatureSetUplinkId
    }
}

-- TAG-FEATURESETCOMBINATION-STOP
-- ASN1STOP

-- ASN1START

-- TAG-FEATURESETCOMBINATIONID-START

FeatureSetCombinationId ::=         INTEGER (0..maxFeatureSetCombinations)

-- TAG-FEATURESETCOMBINATIONID-STOP
-- ASN1STOP

-- ASN1START

-- TAG-FEATURESETDOWNLINK-START

FeatureSetDownlink ::=                  SEQUENCE {
    featureSetListPerDownlinkCC             SEQUENCE (SIZE (1..maxNrofServingCells)) OF FeatureSetDownlinkPerCC-Id,

    intraBandFreqSeparationDL               FreqSeparationClass                                                     OPTIONAL,
    scalingFactor                           ENUMERATED {f0p4, f0p75, f0p8}                                          OPTIONAL,
    dummy8                                  ENUMERATED {supported}                                                  OPTIONAL,
    scellWithoutSSB                         ENUMERATED {supported}                                                  OPTIONAL,
    csi-RS-MeasSCellWithoutSSB              ENUMERATED {supported}                                                  OPTIONAL,
    dummy1                                  ENUMERATED {supported}                                                  OPTIONAL,
    type1-3-CSS                             ENUMERATED {supported}                                                  OPTIONAL,
    pdcch-MonitoringAnyOccasions            ENUMERATED {withoutDCI-Gap, withDCI-Gap}                                OPTIONAL,
    dummy2                                  ENUMERATED {supported}                                                  OPTIONAL,
    ue-SpecificUL-DL-Assignment             ENUMERATED {supported}                                                  OPTIONAL,
    searchSpaceSharingCA-DL                 ENUMERATED {supported}                                                  OPTIONAL,
    timeDurationForQCL                      SEQUENCE {
        scs-60kHz                           ENUMERATED {s7, s14, s28}                                               OPTIONAL,
        scs-120kHz                          ENUMERATED {s14, s28}                                                   OPTIONAL
    }                                                                                                           OPTIONAL,
    pdsch-ProcessingType1-DifferentTB-PerSlot SEQUENCE {
        scs-15kHz                               ENUMERATED {upto2, upto4, upto7}                                    OPTIONAL,
        scs-30kHz                               ENUMERATED {upto2, upto4, upto7}                                    OPTIONAL,
        scs-60kHz                               ENUMERATED {upto2, upto4, upto7}                                    OPTIONAL,
        scs-120kHz                              ENUMERATED {upto2, upto4, upto7}                                    OPTIONAL
    }                                                                                                           OPTIONAL,
    dummy3                                  DummyA                                                                  OPTIONAL,
    dummy4                                  SEQUENCE (SIZE (1..maxNrofCodebooks)) OF DummyB                        OPTIONAL,
    dummy5                                  SEQUENCE (SIZE (1..maxNrofCodebooks)) OF DummyC                        OPTIONAL,
    dummy6                                  SEQUENCE (SIZE (1..maxNrofCodebooks)) OF DummyD                        OPTIONAL,
    dummy7                                  SEQUENCE (SIZE (1..maxNrofCodebooks)) OF DummyE                        OPTIONAL
}

FeatureSetDownlink-v1540 ::= SEQUENCE {
    oneFL-DMRS-TwoAdditionalDMRS-DL         ENUMERATED {supported}                       OPTIONAL,
    additionalDMRS-DL-Alt                   ENUMERATED {supported}                       OPTIONAL,
    twoFL-DMRS-TwoAdditionalDMRS-DL         ENUMERATED {supported}                       OPTIONAL,
    oneFL-DMRS-ThreeAdditionalDMRS-DL       ENUMERATED {supported}                       OPTIONAL,
    pdcch-MonitoringAnyOccasionsWithSpanGap SEQUENCE {
        scs-15kHz                               ENUMERATED {set1, set2, set3}                OPTIONAL,
        scs-30kHz                               ENUMERATED {set1, set2, set3}                OPTIONAL,
        scs-60kHz                               ENUMERATED {set1, set2, set3}                OPTIONAL,
        scs-120kHz                              ENUMERATED {set1, set2, set3}                OPTIONAL
    }                                                                                    OPTIONAL,
    pdsch-SeparationWithGap                 ENUMERATED {supported}                       OPTIONAL,
    pdsch-ProcessingType2                   SEQUENCE {
        scs-15kHz                               ProcessingParameters                         OPTIONAL,
        scs-30kHz                               ProcessingParameters                         OPTIONAL,
        scs-60kHz                               ProcessingParameters                         OPTIONAL
    } OPTIONAL,
    pdsch-ProcessingType2-Limited           SEQUENCE {
        differentTB-PerSlot-SCS-30kHz           ENUMERATED {upto1, upto2, upto4, upto7}
    } OPTIONAL,
    dl-MCS-TableAlt-DynamicIndication       ENUMERATED {supported}                       OPTIONAL
}

FeatureSetDownlink-v15a0 ::= SEQUENCE {
    supportedSRS-Resources              SRS-Resources                                    OPTIONAL
}

FeatureSetDownlink-v1610 ::=   SEQUENCE {
    -- R1 22-4e/4f/4g/4h: CBG based reception for DL with unicast PDSCH(s) per slot per CC with UE processing time Capability 1
    cbgPDSCH-ProcessingType1-DifferentTB-PerSlot-r16   SEQUENCE {
        scs-15kHz-r16        ENUMERATED {one, upto2, upto4, upto7} OPTIONAL,
        scs-30kHz-r16        ENUMERATED {one, upto2, upto4, upto7} OPTIONAL,
        scs-60kHz-r16        ENUMERATED {one, upto2, upto4, upto7} OPTIONAL,
        scs-120kHz-r16       ENUMERATED {one, upto2, upto4, upto7} OPTIONAL
    } OPTIONAL,

    -- R1 22-3e/3f/3g/3h: CBG based reception for DL with unicast PDSCH(s) per slot per CC with UE processing time Capability 2
    cbgPDSCH-ProcessingType2-DifferentTB-PerSlot-r16   SEQUENCE {
        scs-15kHz-r16        ENUMERATED {one, upto2, upto4, upto7} OPTIONAL,
        scs-30kHz-r16        ENUMERATED {one, upto2, upto4, upto7} OPTIONAL,
        scs-60kHz-r16        ENUMERATED {one, upto2, upto4, upto7} OPTIONAL,
        scs-120kHz-r16       ENUMERATED {one, upto2, upto4, upto7} OPTIONAL
    } OPTIONAL,
    intraFreqDAPS-r16                  SEQUENCE {
        intraFreqDiffSCS-DAPS-r16          ENUMERATED {supported}            OPTIONAL,
        intraFreqAsyncDAPS-r16             ENUMERATED {supported}            OPTIONAL
    }                                                                        OPTIONAL,
    intraBandFreqSeparationDL-v1620    FreqSeparationClassDL-v1620           OPTIONAL,
    intraBandFreqSeparationDL-Only-r16 FreqSeparationClassDL-Only-r16        OPTIONAL,

    -- R1 11-2: Rel-16 PDCCH monitoring capability
    pdcch-Monitoring-r16               SEQUENCE {
        pdsch-ProcessingType1-r16          SEQUENCE {
            scs-15kHz-r16                      PDCCH-MonitoringOccasions-r16 OPTIONAL,
            scs-30kHz-r16                      PDCCH-MonitoringOccasions-r16 OPTIONAL
        }                                                                    OPTIONAL,
        pdsch-ProcessingType2-r16      SEQUENCE {
            scs-15kHz-r16                  PDCCH-MonitoringOccasions-r16     OPTIONAL,
            scs-30kHz-r16                  PDCCH-MonitoringOccasions-r16     OPTIONAL
        }                                                                    OPTIONAL
    }                                                                        OPTIONAL,

    -- R1 11-2b: Mix of Rel. 16 PDCCH monitoring capability and Rel. 15 PDCCH monitoring capability on different carriers
    pdcch-MonitoringMixed-r16          ENUMERATED {supported}                OPTIONAL,

    -- R1 18-5c: Processing up to X unicast DCI scheduling for DL per scheduled CC
    crossCarrierSchedulingProcessing-DiffSCS-r16  SEQUENCE {
        scs-15kHz-120kHz-r16               ENUMERATED {n1,n2,n4}             OPTIONAL,
        scs-15kHz-60kHz-r16                ENUMERATED {n1,n2,n4}             OPTIONAL,
        scs-30kHz-120kHz-r16               ENUMERATED {n1,n2,n4}             OPTIONAL,
        scs-15kHz-30kHz-r16                ENUMERATED {n2}                   OPTIONAL,
        scs-30kHz-60kHz-r16                ENUMERATED {n2}                   OPTIONAL,
        scs-60kHz-120kHz-r16               ENUMERATED {n2}                   OPTIONAL
    }                                                                        OPTIONAL,

    -- R1 16-2b-1: Support of single-DCI based SDM scheme
    singleDCI-SDM-scheme-r16           ENUMERATED {supported}                OPTIONAL
}

FeatureSetDownlink-v1700 ::= SEQUENCE {
    -- R1 36-2: Scaling factor to be applied to 1024QAM for FR1
    scalingFactor-1024QAM-FR1-r17 ENUMERATED {f0p4, f0p75, f0p8}             OPTIONAL,
    -- R1 24 feature for existing UE cap to include new SCS
    timeDurationForQCL-v1710     SEQUENCE {
        scs-480kHz                   ENUMERATED {s56, s112}                  OPTIONAL,
        scs-960kHz                   ENUMERATED {s112, s224}                 OPTIONAL
    }                                                                        OPTIONAL,
    -- R1 23-6-1	SFN scheme A (scheme 1) for PDSCH and PDCCH
    sfn-SchemeA-r17                  ENUMERATED {supported}                  OPTIONAL,
    -- R1 23-6-1-1	SFN scheme A (scheme 1) for PDCCH only
    sfn-SchemeA-PDCCH-only-r17       ENUMERATED {supported}                  OPTIONAL,
    -- R1 23-6-1a	Dynamic switching - scheme A
    sfn-SchemeA-DynamicSwitching-r17 ENUMERATED {supported}                  OPTIONAL,
    -- R1 23-6-1b	SFN scheme A (scheme 1) for PDSCH only
    sfn-SchemeA-PDSCH-only-r17       ENUMERATED {supported}                  OPTIONAL,
    -- R1 23-6-2	SFN scheme B (TRP based pre-compensation) for PDSCH and PDCCH
    sfn-SchemeB-r17                  ENUMERATED {supported}                  OPTIONAL,
    -- R1 23-6-2a	Dynamic switching - scheme B
    sfn-SchemeB-DynamicSwitching-r17 ENUMERATED {supported}                  OPTIONAL,
    -- R1 23-6-2b	SFN scheme B (TRP based pre-compensation) for PDSCH only
    sfn-SchemeB-PDSCH-only-r17       ENUMERATED {supported}                  OPTIONAL,
    -- R1 23-2-1d	PDCCH repetition for Case 2 PDCCH monitoring with a span gap
    mTRP-PDCCH-Case2-1SpanGap-r17    SEQUENCE {
        scs-15kHz-r17                    PDCCH-RepetitionParameters-r17      OPTIONAL,
        scs-30kHz-r17                    PDCCH-RepetitionParameters-r17      OPTIONAL,
        scs-60kHz-r17                    PDCCH-RepetitionParameters-r17      OPTIONAL,
        scs-120kHz-r17                   PDCCH-RepetitionParameters-r17      OPTIONAL
    }                                                                        OPTIONAL,
    -- R1 23-2-1e	PDCCH repetition for Rel-16 PDCCH monitoring
    mTRP-PDCCH-legacyMonitoring-r17  SEQUENCE {
        scs-15kHz-r17                    PDCCH-RepetitionParameters-r17      OPTIONAL,
        scs-30kHz-r17                    PDCCH-RepetitionParameters-r17      OPTIONAL
    }                                                                        OPTIONAL,
    -- R1  23-2-4	Simultaneous configuration of PDCCH repetition and multi-DCI based multi-TRP
    mTRP-PDCCH-multiDCI-multiTRP-r17 ENUMERATED {supported}                  OPTIONAL,
    -- R1 33-2:	Dynamic scheduling for multicast for PCell
    dynamicMulticastPCell-r17        ENUMERATED {supported}                  OPTIONAL,
    -- R1 23-2-1	PDCCH repetition
    mTRP-PDCCH-Repetition-r17        SEQUENCE {
        numBD-twoPDCCH-r17               INTEGER (2..3),
        maxNumOverlaps-r17               ENUMERATED {n1,n2,n3,n5,n10,n20,n40}
    }                                                                        OPTIONAL
}

FeatureSetDownlink-v1720 ::=                SEQUENCE {
    -- R1 25-19: RTT-based Propagation delay compensation based on CSI-RS for tracking and SRS
    rtt-BasedPDC-CSI-RS-ForTracking-r17         ENUMERATED {supported}                                                   OPTIONAL,
    -- R1 25-19a: RTT-based Propagation delay compensation based on DL PRS for RTT-based PDC and SRS
    rtt-BasedPDC-PRS-r17                        SEQUENCE {
        maxNumberPRS-Resource-r17                   ENUMERATED {n1, n2, n4, n8, n16, n32, n64},
        maxNumberPRS-ResourceProcessedPerSlot-r17   SEQUENCE {
            scs-15kHz-r17                               ENUMERATED {n1, n2, n4, n6, n8, n12, n16, n24, n32, n48, n64}    OPTIONAL,
            scs-30kHz-r17                               ENUMERATED {n1, n2, n4, n6, n8, n12, n16, n24, n32, n48, n64}    OPTIONAL,
            scs-60kHz-r17                               ENUMERATED {n1, n2, n4, n6, n8, n12, n16, n24, n32, n48, n64}    OPTIONAL,
            scs-120kHz-r17                              ENUMERATED {n1, n2, n4, n6, n8, n12, n16, n24, n32, n48, n64}    OPTIONAL
        }
    }                                                                                                                    OPTIONAL,
    -- R1 33-5-1: SPS group-common PDSCH for multicast on PCell
    sps-Multicast-r17                           ENUMERATED {supported}                                                   OPTIONAL
}

FeatureSetDownlink-v1730 ::=                SEQUENCE {
    -- R1 25-19b: Support of PRS as spatial relation RS for SRS
    prs-AsSpatialRelationRS-For-SRS-r17         ENUMERATED {supported}                                                   OPTIONAL
}

PDCCH-MonitoringOccasions-r16 ::= SEQUENCE {
    period7span3-r16                  ENUMERATED {supported}                 OPTIONAL,
    period4span3-r16                  ENUMERATED {supported}                 OPTIONAL,
    period2span2-r16                  ENUMERATED {supported}                 OPTIONAL
}

PDCCH-RepetitionParameters-r17 ::= SEQUENCE {
    supportedMode-r17                  ENUMERATED {intra-span, inter-span, both},
    limitX-PerCC-r17                   ENUMERATED {n4, n8, n16, n32, n44, n64, nolimit}                      OPTIONAL,
    limitX-AcrossCC-r17                ENUMERATED {n4, n8, n16, n32, n44, n64, n128, n256, n512, nolimit}    OPTIONAL
}

DummyA ::=      SEQUENCE {
    maxNumberNZP-CSI-RS-PerCC                   INTEGER (1..32),
    maxNumberPortsAcrossNZP-CSI-RS-PerCC        ENUMERATED {p2, p4, p8, p12, p16, p24, p32, p40, p48, p56, p64, p72, p80,
                                                            p88, p96, p104, p112, p120, p128, p136, p144, p152, p160, p168,
                                                            p176, p184, p192, p200, p208, p216, p224, p232, p240, p248, p256},
    maxNumberCS-IM-PerCC                        ENUMERATED {n1, n2, n4, n8, n16, n32},
    maxNumberSimultaneousCSI-RS-ActBWP-AllCC    ENUMERATED {n5, n6, n7, n8, n9, n10, n12, n14, n16, n18, n20, n22, n24, n26,
                                                                n28, n30, n32, n34, n36, n38, n40, n42, n44, n46, n48, n50, n52,
                                                                n54, n56, n58, n60, n62, n64},
    totalNumberPortsSimultaneousCSI-RS-ActBWP-AllCC ENUMERATED {p8, p12, p16, p24, p32, p40, p48, p56, p64, p72, p80,
                                                                p88, p96, p104, p112, p120, p128, p136, p144, p152, p160, p168,
                                                                p176, p184, p192, p200, p208, p216, p224, p232, p240, p248, p256}
}

DummyB ::=       SEQUENCE {
    maxNumberTxPortsPerResource         ENUMERATED {p2, p4, p8, p12, p16, p24, p32},
    maxNumberResources                  INTEGER (1..64),
    totalNumberTxPorts                  INTEGER (2..256),
    supportedCodebookMode               ENUMERATED {mode1, mode1AndMode2},
    maxNumberCSI-RS-PerResourceSet      INTEGER (1..8)
}

DummyC ::=        SEQUENCE {
    maxNumberTxPortsPerResource         ENUMERATED {p8, p16, p32},
    maxNumberResources                  INTEGER (1..64),
    totalNumberTxPorts                  INTEGER (2..256),
    supportedCodebookMode               ENUMERATED {mode1, mode2, both},
    supportedNumberPanels               ENUMERATED {n2, n4},
    maxNumberCSI-RS-PerResourceSet      INTEGER (1..8)
}

DummyD ::=                 SEQUENCE {
    maxNumberTxPortsPerResource         ENUMERATED {p4, p8, p12, p16, p24, p32},
    maxNumberResources                  INTEGER (1..64),
    totalNumberTxPorts                  INTEGER (2..256),
    parameterLx                         INTEGER (2..4),
    amplitudeScalingType                ENUMERATED {wideband, widebandAndSubband},
    amplitudeSubsetRestriction          ENUMERATED {supported}                          OPTIONAL,
    maxNumberCSI-RS-PerResourceSet      INTEGER (1..8)
}

DummyE ::=    SEQUENCE {
    maxNumberTxPortsPerResource         ENUMERATED {p4, p8, p12, p16, p24, p32},
    maxNumberResources                  INTEGER (1..64),
    totalNumberTxPorts                  INTEGER (2..256),
    parameterLx                         INTEGER (2..4),
    amplitudeScalingType                ENUMERATED {wideband, widebandAndSubband},
    maxNumberCSI-RS-PerResourceSet      INTEGER (1..8)
}

-- TAG-FEATURESETDOWNLINK-STOP
-- ASN1STOP

-- ASN1START

-- TAG-FEATURESETDOWNLINKID-START

FeatureSetDownlinkId ::=            INTEGER (0..maxDownlinkFeatureSets)

-- TAG-FEATURESETDOWNLINKID-STOP
-- ASN1STOP

-- ASN1START

-- TAG-FEATURESETDOWNLINKPERCC-START

FeatureSetDownlinkPerCC ::=         SEQUENCE {
    supportedSubcarrierSpacingDL        SubcarrierSpacing,
    supportedBandwidthDL                SupportedBandwidth,
    channelBW-90mhz                     ENUMERATED {supported}                                                  OPTIONAL,
    maxNumberMIMO-LayersPDSCH           MIMO-LayersDL                                                           OPTIONAL,
    supportedModulationOrderDL          ModulationOrder                                                         OPTIONAL
}

FeatureSetDownlinkPerCC-v1620 ::=   SEQUENCE {
    -- R1 16-2a: Mulit-DCI based multi-TRP
    multiDCI-MultiTRP-r16               MultiDCI-MultiTRP-r16                                                   OPTIONAL,
    -- R1 16-2b-3: Support of single-DCI based FDMSchemeB
    supportFDM-SchemeB-r16              ENUMERATED {supported}                                                  OPTIONAL
}

FeatureSetDownlinkPerCC-v1700 ::=   SEQUENCE {
    supportedMinBandwidthDL-r17             SupportedBandwidth-v1700                                                OPTIONAL,
    broadcastSCell-r17                     ENUMERATED {supported}                                                  OPTIONAL,
    -- R1 33-2g: MIMO layers for multicast PDSCH
    maxNumberMIMO-LayersMulticastPDSCH-r17  ENUMERATED {n2, n4, n8}                                                 OPTIONAL,
    -- R1 33-2h: Dynamic scheduling for multicast for SCell
    dynamicMulticastSCell-r17               ENUMERATED {supported}                                                  OPTIONAL,
    supportedBandwidthDL-v1710              SupportedBandwidth-v1700                                                OPTIONAL,
    -- R4 24-1/24-2/24-3/24-4/24-5
    supportedCRS-InterfMitigation-r17       CRS-InterfMitigation-r17                                                OPTIONAL
}

FeatureSetDownlinkPerCC-v1720 ::=   SEQUENCE {
    -- R1 33-2j: Supported maximum modulation order used for maximum data rate calculation for multicast PDSCH
    maxModulationOrderForMulticastDataRateCalculation-r17  ENUMERATED {qam64, qam256, qam1024}                  OPTIONAL,
    -- R1 33-1-2: FDM-ed unicast PDSCH and group-common PDSCH for broadcast
    fdm-BroadcastUnicast-r17            ENUMERATED {supported}                                                  OPTIONAL,
    -- R1 33-3-2: FDM-ed unicast PDSCH and one group-common PDSCH for multicast
    fdm-MulticastUnicast-r17            ENUMERATED {supported}                                                  OPTIONAL
}

FeatureSetDownlinkPerCC-v1730 ::=           SEQUENCE {
    -- R1 33-3-3: Intra-slot TDM-ed unicast PDSCH and group-common PDSCH
    intraSlotTDM-UnicastGroupCommonPDSCH-r17    ENUMERATED {yes, no}                    OPTIONAL,
    -- R1 33-5-3: One SPS group-common PDSCH configuration for multicast for SCell
    sps-MulticastSCell-r17                      ENUMERATED {supported}                  OPTIONAL,
    -- R1 33-5-4: Up to 8 SPS group-common PDSCH configurations per CFR for multicast for SCell
    sps-MulticastSCellMultiConfig-r17           INTEGER (1..8)                          OPTIONAL,
    -- R1 33-1-1: Dynamic slot-level repetition for broadcast MTCH
    dci-BroadcastWith16Repetitions-r17          ENUMERATED {supported}                  OPTIONAL
}

MultiDCI-MultiTRP-r16 ::=           SEQUENCE {
    maxNumberCORESET-r16                ENUMERATED {n2, n3, n4, n5},
    maxNumberCORESETPerPoolIndex-r16    INTEGER (1..3),
    maxNumberUnicastPDSCH-PerPool-r16   ENUMERATED {n1, n2, n3, n4, n7}
}

CRS-InterfMitigation-r17 ::=        SEQUENCE {
    -- R4 24-1 CRS-IM (Interference Mitigation) in DSS scenario
    crs-IM-DSS-15kHzSCS-r17             ENUMERATED {supported}                                                  OPTIONAL,
    -- R4 24-2 CRS-IM in non-DSS and 15 kHz NR SCS scenario, without the assistance of network signaling on LTE channel bandwidth
    crs-IM-nonDSS-15kHzSCS-r17          ENUMERATED {supported}                                                  OPTIONAL,
    -- R4 24-3 CRS-IM in non-DSS and 15 kHz NR SCS scenario, with the assistance of network signaling on LTE channel bandwidth
    crs-IM-nonDSS-NWA-15kHzSCS-r17      ENUMERATED {supported}                                                  OPTIONAL,
    -- R4 24-4 CRS-IM in non-DSS and 30 kHz NR SCS scenario, without the assistance of network signaling on LTE channel bandwidth
    crs-IM-nonDSS-30kHzSCS-r17          ENUMERATED {supported}                                                  OPTIONAL,
    -- R4 24-5 CRS-IM in non-DSS and 30 kHz NR SCS scenario, with the assistance of network signaling on LTE channel bandwidth
    crs-IM-nonDSS-NWA-30kHzSCS-r17      ENUMERATED {supported}                                                  OPTIONAL
}

-- TAG-FEATURESETDOWNLINKPERCC-STOP
-- ASN1STOP

-- ASN1START

-- TAG-FEATURESETDOWNLINKPERCC-ID-START

FeatureSetDownlinkPerCC-Id ::=      INTEGER (1..maxPerCC-FeatureSets)

-- TAG-FEATURESETDOWNLINKPERCC-ID-STOP
-- ASN1STOP

-- ASN1START

-- TAG-FEATURESETEUTRADOWNLINKID-START

FeatureSetEUTRA-DownlinkId ::=      INTEGER (0..maxEUTRA-DL-FeatureSets)

-- TAG-FEATURESETEUTRADOWNLINKID-STOP
-- ASN1STOP

-- ASN1START

-- TAG-FEATURESETEUTRAUPLINKID-START

FeatureSetEUTRA-UplinkId ::=                    INTEGER (0..maxEUTRA-UL-FeatureSets)

-- TAG-FEATURESETEUTRAUPLINKID-STOP
-- ASN1STOP

-- ASN1START

-- TAG-FEATURESETS-START

FeatureSets ::=    SEQUENCE {
    featureSetsDownlink                 SEQUENCE (SIZE (1..maxDownlinkFeatureSets)) OF FeatureSetDownlink               OPTIONAL,
    featureSetsDownlinkPerCC            SEQUENCE (SIZE (1..maxPerCC-FeatureSets)) OF FeatureSetDownlinkPerCC            OPTIONAL,
    featureSetsUplink                   SEQUENCE (SIZE (1..maxUplinkFeatureSets)) OF FeatureSetUplink                   OPTIONAL,
    featureSetsUplinkPerCC              SEQUENCE (SIZE (1..maxPerCC-FeatureSets)) OF FeatureSetUplinkPerCC              OPTIONAL,
    ...,
    [[
    featureSetsDownlink-v1540           SEQUENCE (SIZE (1..maxDownlinkFeatureSets)) OF FeatureSetDownlink-v1540         OPTIONAL,
    featureSetsUplink-v1540             SEQUENCE (SIZE (1..maxUplinkFeatureSets)) OF FeatureSetUplink-v1540             OPTIONAL,
    featureSetsUplinkPerCC-v1540        SEQUENCE (SIZE (1..maxPerCC-FeatureSets)) OF FeatureSetUplinkPerCC-v1540        OPTIONAL
    ]],
    [[
    featureSetsDownlink-v15a0           SEQUENCE (SIZE (1..maxDownlinkFeatureSets)) OF FeatureSetDownlink-v15a0         OPTIONAL
    ]],
    [[
    featureSetsDownlink-v1610           SEQUENCE (SIZE (1..maxDownlinkFeatureSets)) OF FeatureSetDownlink-v1610         OPTIONAL,
    featureSetsUplink-v1610             SEQUENCE (SIZE (1..maxUplinkFeatureSets)) OF FeatureSetUplink-v1610             OPTIONAL,
    featureSetDownlinkPerCC-v1620       SEQUENCE (SIZE (1..maxPerCC-FeatureSets)) OF FeatureSetDownlinkPerCC-v1620      OPTIONAL
    ]],
    [[
    featureSetsUplink-v1630             SEQUENCE (SIZE (1..maxUplinkFeatureSets)) OF FeatureSetUplink-v1630             OPTIONAL
    ]],
    [[
    featureSetsUplink-v1640             SEQUENCE (SIZE (1..maxUplinkFeatureSets)) OF FeatureSetUplink-v1640             OPTIONAL
    ]],
    [[
    featureSetsDownlink-v1700           SEQUENCE (SIZE (1..maxDownlinkFeatureSets)) OF FeatureSetDownlink-v1700         OPTIONAL,
    featureSetsDownlinkPerCC-v1700      SEQUENCE (SIZE (1..maxPerCC-FeatureSets)) OF FeatureSetDownlinkPerCC-v1700      OPTIONAL,
    featureSetsUplink-v1710             SEQUENCE (SIZE (1..maxUplinkFeatureSets)) OF FeatureSetUplink-v1710             OPTIONAL,
    featureSetsUplinkPerCC-v1700        SEQUENCE (SIZE (1..maxPerCC-FeatureSets)) OF FeatureSetUplinkPerCC-v1700        OPTIONAL
    ]],
    [[
    featureSetsDownlink-v1720           SEQUENCE (SIZE (1..maxDownlinkFeatureSets)) OF FeatureSetDownlink-v1720         OPTIONAL,
    featureSetsDownlinkPerCC-v1720      SEQUENCE (SIZE (1..maxPerCC-FeatureSets)) OF FeatureSetDownlinkPerCC-v1720      OPTIONAL,
    featureSetsUplink-v1720             SEQUENCE (SIZE (1..maxUplinkFeatureSets)) OF FeatureSetUplink-v1720             OPTIONAL
    ]],
    [[
    featureSetsDownlink-v1730           SEQUENCE (SIZE (1..maxDownlinkFeatureSets)) OF FeatureSetDownlink-v1730         OPTIONAL,
    featureSetsDownlinkPerCC-v1730      SEQUENCE (SIZE (1..maxPerCC-FeatureSets)) OF FeatureSetDownlinkPerCC-v1730      OPTIONAL
    ]]
}

-- TAG-FEATURESETS-STOP
-- ASN1STOP

-- ASN1START

-- TAG-FEATURESETUPLINK-START

FeatureSetUplink ::=                SEQUENCE {
    featureSetListPerUplinkCC           SEQUENCE (SIZE (1..maxNrofServingCells)) OF FeatureSetUplinkPerCC-Id,
    scalingFactor                       ENUMERATED {f0p4, f0p75, f0p8}                                          OPTIONAL,
    dummy3                              ENUMERATED {supported}                                                  OPTIONAL,
    intraBandFreqSeparationUL           FreqSeparationClass                                                     OPTIONAL,
    searchSpaceSharingCA-UL             ENUMERATED {supported}                                                  OPTIONAL,
    dummy1                              DummyI                                                                  OPTIONAL,
    supportedSRS-Resources              SRS-Resources                                                           OPTIONAL,
    twoPUCCH-Group                      ENUMERATED {supported}                                                  OPTIONAL,
    dynamicSwitchSUL                    ENUMERATED {supported}                                                  OPTIONAL,
    simultaneousTxSUL-NonSUL            ENUMERATED {supported}                                                  OPTIONAL,
    pusch-ProcessingType1-DifferentTB-PerSlot SEQUENCE {
        scs-15kHz                                 ENUMERATED {upto2, upto4, upto7}                                  OPTIONAL,
        scs-30kHz                                 ENUMERATED {upto2, upto4, upto7}                                  OPTIONAL,
        scs-60kHz                                 ENUMERATED {upto2, upto4, upto7}                                  OPTIONAL,
        scs-120kHz                                ENUMERATED {upto2, upto4, upto7}                                  OPTIONAL
    }                                                                                                           OPTIONAL,
    dummy2                               DummyF                                                                 OPTIONAL
}

FeatureSetUplink-v1540 ::=           SEQUENCE {
    zeroSlotOffsetAperiodicSRS           ENUMERATED {supported}                     OPTIONAL,
    pa-PhaseDiscontinuityImpacts         ENUMERATED {supported}                     OPTIONAL,
    pusch-SeparationWithGap              ENUMERATED {supported}                     OPTIONAL,
    pusch-ProcessingType2                SEQUENCE {
        scs-15kHz                            ProcessingParameters                       OPTIONAL,
        scs-30kHz                            ProcessingParameters                       OPTIONAL,
        scs-60kHz                            ProcessingParameters                       OPTIONAL
    }                                                                               OPTIONAL,
    ul-MCS-TableAlt-DynamicIndication    ENUMERATED {supported}                     OPTIONAL
}

FeatureSetUplink-v1610 ::=       SEQUENCE {
    -- R1 11-5: PUsCH repetition Type B
    pusch-RepetitionTypeB-r16        SEQUENCE {
        maxNumberPUSCH-Tx-r16            ENUMERATED {n2, n3, n4, n7, n8, n12},
        hoppingScheme-r16                ENUMERATED {interSlotHopping, interRepetitionHopping, both}
    }                                                                              OPTIONAL,
    -- R1 11-7: UL cancelation scheme for self-carrier
    ul-CancellationSelfCarrier-r16       ENUMERATED {supported}                    OPTIONAL,
    -- R1 11-7a: UL cancelation scheme for cross-carrier
    ul-CancellationCrossCarrier-r16      ENUMERATED {supported}                    OPTIONAL,
    -- R1 16-5c: The maximum number of SRS resources in one SRS resource set with usage set to 'codebook' for Mode 2
    ul-FullPwrMode2-MaxSRS-ResInSet-r16  ENUMERATED {n1, n2, n4}                   OPTIONAL,

    -- R1 22-4a/4b/4c/4d: CBG based transmission for UL with unicast PUSCH(s) per slot per CC with UE processing time Capability 1
    cbgPUSCH-ProcessingType1-DifferentTB-PerSlot-r16    SEQUENCE {
        scs-15kHz-r16        ENUMERATED {one-pusch, upto2, upto4, upto7}               OPTIONAL,
        scs-30kHz-r16        ENUMERATED {one-pusch, upto2, upto4, upto7}               OPTIONAL,
        scs-60kHz-r16        ENUMERATED {one-pusch, upto2, upto4, upto7}               OPTIONAL,
        scs-120kHz-r16       ENUMERATED {one-pusch, upto2, upto4, upto7}               OPTIONAL
     } OPTIONAL,

    -- R1 22-3a/3b/3c/3d: CBG based transmission for UL with unicast PUSCH(s) per slot per CC with UE processing time Capability 2
    cbgPUSCH-ProcessingType2-DifferentTB-PerSlot-r16    SEQUENCE {
        scs-15kHz-r16        ENUMERATED {one-pusch, upto2, upto4, upto7}               OPTIONAL,
        scs-30kHz-r16        ENUMERATED {one-pusch, upto2, upto4, upto7}               OPTIONAL,
        scs-60kHz-r16        ENUMERATED {one-pusch, upto2, upto4, upto7}               OPTIONAL,
        scs-120kHz-r16       ENUMERATED {one-pusch, upto2, upto4, upto7}               OPTIONAL
     } OPTIONAL,
    supportedSRS-PosResources-r16              SRS-AllPosResources-r16             OPTIONAL,
    intraFreqDAPS-UL-r16                             SEQUENCE {
        dummy                                            ENUMERATED {supported}    OPTIONAL,
        intraFreqTwoTAGs-DAPS-r16                        ENUMERATED {supported}    OPTIONAL,
        dummy1                                           ENUMERATED {supported}    OPTIONAL,
        dummy2                                           ENUMERATED {supported}    OPTIONAL,
        dummy3                                           ENUMERATED {short, long}  OPTIONAL
    }                                                                              OPTIONAL,
    intraBandFreqSeparationUL-v1620                  FreqSeparationClassUL-v1620   OPTIONAL,

    -- R1 11-3: More than one PUCCH for HARQ-ACK transmission within a slot
    multiPUCCH-r16                        SEQUENCE {
        sub-SlotConfig-NCP-r16                ENUMERATED {set1, set2}              OPTIONAL,
        sub-SlotConfig-ECP-r16                ENUMERATED {set1, set2}              OPTIONAL
    }                                                                              OPTIONAL,
    -- R1 11-3c: 2 PUCCH of format 0 or 2 for a single 7*2-symbol subslot based HARQ-ACK codebook
    twoPUCCH-Type1-r16                    ENUMERATED {supported}                   OPTIONAL,
    -- R1 11-3d: 2 PUCCH of format 0 or 2 for a single 2*7-symbol subslot based HARQ-ACK codebook
    twoPUCCH-Type2-r16                    ENUMERATED {supported}                   OPTIONAL,
    -- R1 11-3e: 1 PUCCH format 0 or 2 and 1 PUCCH format 1, 3 or 4 in the same subslot for a single 2*7-symbol HARQ-ACK codebooks
    twoPUCCH-Type3-r16                    ENUMERATED {supported}                   OPTIONAL,
    -- R1 11-3f: 2 PUCCH transmissions in the same subslot for a single 2*7-symbol HARQ-ACK codebooks which are not covered by 11-3d and
    -- 11-3e
    twoPUCCH-Type4-r16                    ENUMERATED {supported}                   OPTIONAL,
    -- R1 11-3g: SR/HARQ-ACK multiplexing once per subslot using a PUCCH (or HARQ-ACK piggybacked on a PUSCH) when SR/HARQ-ACK
    -- are supposed to be sent with different starting symbols in a subslot
    mux-SR-HARQ-ACK-r16                   ENUMERATED {supported}                   OPTIONAL,
    dummy1                                ENUMERATED {supported}                   OPTIONAL,
    dummy2                                ENUMERATED {supported}                   OPTIONAL,
    -- R1 11-4c: 2 PUCCH of format 0 or 2 for two HARQ-ACK codebooks with one 7*2-symbol sub-slot based HARQ-ACK codebook
    twoPUCCH-Type5-r16                    ENUMERATED {supported}                   OPTIONAL,
    -- R1 11-4d: 2 PUCCH of format 0 or 2 in consecutive symbols for two HARQ-ACK codebooks with one 2*7-symbol sub-slot based HARQ-ACK
    -- codebook
    twoPUCCH-Type6-r16                    ENUMERATED {supported}                   OPTIONAL,
    -- R1 11-4e: 2 PUCCH of format 0 or 2 for two subslot based HARQ-ACK codebooks
    twoPUCCH-Type7-r16                    ENUMERATED {supported}                   OPTIONAL,
    -- R1 11-4f: 1 PUCCH format 0 or 2 and 1 PUCCH format 1, 3 or 4 in the same subslot for HARQ-ACK codebooks with one 2*7-symbol
    -- subslot based HARQ-ACK codebook
    twoPUCCH-Type8-r16                    ENUMERATED {supported}                   OPTIONAL,
    -- R1 11-4g: 1 PUCCH format 0 or 2 and 1 PUCCH format 1, 3 or 4 in the same subslot for two subslot based HARQ-ACK codebooks
    twoPUCCH-Type9-r16                    ENUMERATED {supported}                   OPTIONAL,
    -- R1 11-4h: 2 PUCCH transmissions in the same subslot for two HARQ-ACK codebooks with one 2*7-symbol subslot which are not covered
    -- by 11-4c and 11-4e
    twoPUCCH-Type10-r16                   ENUMERATED {supported}                   OPTIONAL,
    -- R1 11-4i: 2 PUCCH transmissions in the same subslot for two subslot based HARQ-ACK codebooks which are not covered by 11-4d and
    -- 11-4f
    twoPUCCH-Type11-r16                   ENUMERATED {supported}                   OPTIONAL,
    -- R1 12-1: UL intra-UE multiplexing/prioritization of overlapping channel/signals with two priority levels in physical layer
    ul-IntraUE-Mux-r16                    SEQUENCE {
        pusch-PreparationLowPriority-r16      ENUMERATED {sym0, sym1, sym2},
        pusch-PreparationHighPriority-r16     ENUMERATED {sym0, sym1, sym2}
    }                                                                              OPTIONAL,
    -- R1 16-5a: Supported UL full power transmission mode of fullpower
    ul-FullPwrMode-r16                    ENUMERATED {supported}                   OPTIONAL,
    -- R1 18-5d: Processing up to X unicast DCI scheduling for UL per scheduled CC
    crossCarrierSchedulingProcessing-DiffSCS-r16    SEQUENCE {
        scs-15kHz-120kHz-r16                  ENUMERATED {n1,n2,n4}                OPTIONAL,
        scs-15kHz-60kHz-r16                   ENUMERATED {n1,n2,n4}                OPTIONAL,
        scs-30kHz-120kHz-r16                  ENUMERATED {n1,n2,n4}                OPTIONAL,
        scs-15kHz-30kHz-r16                   ENUMERATED {n2}                      OPTIONAL,
        scs-30kHz-60kHz-r16                   ENUMERATED {n2}                      OPTIONAL,
        scs-60kHz-120kHz-r16                  ENUMERATED {n2}                      OPTIONAL
    }                                                                              OPTIONAL,
    -- R1 16-5b: Supported UL full power transmission mode of fullpowerMode1
    ul-FullPwrMode1-r16                   ENUMERATED {supported}                   OPTIONAL,
    -- R1 16-5c-2: Ports configuration for Mode 2
    ul-FullPwrMode2-SRSConfig-diffNumSRSPorts-r16  ENUMERATED {p1-2, p1-4, p1-2-4} OPTIONAL,
    -- R1 16-5c-3: TPMI group for Mode 2
    ul-FullPwrMode2-TPMIGroup-r16         SEQUENCE {
        twoPorts-r16                          BIT STRING(SIZE(2))                      OPTIONAL,
        fourPortsNonCoherent-r16              ENUMERATED{g0, g1, g2, g3}               OPTIONAL,
        fourPortsPartialCoherent-r16          ENUMERATED{g0, g1, g2, g3, g4, g5, g6}   OPTIONAL
    }                                                                                  OPTIONAL
}

FeatureSetUplink-v1630 ::=       SEQUENCE {
    -- R1 22-8: For SRS for CB PUSCH and antenna switching on FR1 with symbol level offset for aperiodic SRS transmission
    offsetSRS-CB-PUSCH-Ant-Switch-fr1-r16                       ENUMERATED {supported}                   OPTIONAL,
    -- R1 22-8a: PDCCH monitoring on any span of up to 3 consecutive OFDM symbols of a slot and constrained timeline for SRS for CB
    -- PUSCH and antenna switching on FR1
    offsetSRS-CB-PUSCH-PDCCH-MonitorSingleOcc-fr1-r16           ENUMERATED {supported}                   OPTIONAL,
    -- R1 22-8b: For type 1 CSS with dedicated RRC configuration, type 3 CSS, and UE-SS, monitoring occasion can be any OFDM symbol(s)
    -- of a slot for Case 2 and constrained timeline for SRS for CB PUSCH and antenna switching on FR1
    offsetSRS-CB-PUSCH-PDCCH-MonitorAnyOccWithoutGap-fr1-r16    ENUMERATED {supported}                   OPTIONAL,
    -- R1 22-8c: For type 1 CSS with dedicated RRC configuration, type 3 CSS, and UE-SS, monitoring occasion can be any OFDM symbol(s)
    -- of a slot for Case 2 with a DCI gap and constrained timeline for SRS for CB PUSCH and antenna switching on FR1
    offsetSRS-CB-PUSCH-PDCCH-MonitorAnyOccWithGap-fr1-r16       ENUMERATED {supported}                   OPTIONAL,
    dummy                                                       ENUMERATED {supported}                   OPTIONAL,
    -- R1 22-9: Cancellation of PUCCH, PUSCH or PRACH with a DCI scheduling a PDSCH or CSI-RS or a DCI format 2_0 for SFI
    partialCancellationPUCCH-PUSCH-PRACH-TX-r16                 ENUMERATED {supported}                   OPTIONAL
}

FeatureSetUplink-v1640 ::=              SEQUENCE {
   -- R1 11-4: Two HARQ-ACK codebooks with up to one sub-slot based HARQ-ACK codebook (i.e. slot-based + slot-based, or slot-based +
    -- sub-slot based) simultaneously constructed for supporting HARQ-ACK codebooks with different priorities at a UE
    twoHARQ-ACK-Codebook-type1-r16          SubSlot-Config-r16      OPTIONAL,
    -- R1 11-4a: Two sub-slot based HARQ-ACK codebooks simultaneously constructed for supporting HARQ-ACK codebooks with different
    -- priorities at a UE
    twoHARQ-ACK-Codebook-type2-r16          SubSlot-Config-r16      OPTIONAL,
    -- R1 22-8d: All PDCCH monitoring occasion can be any OFDM symbol(s) of a slot for Case 2 with a span gap and constrained timeline
    -- for SRS for CB PUSCH and antenna switching on FR1
    offsetSRS-CB-PUSCH-PDCCH-MonitorAnyOccWithSpanGap-fr1-r16 SEQUENCE {
        scs-15kHz-r16                                 ENUMERATED {set1, set2, set3}                             OPTIONAL,
        scs-30kHz-r16                                 ENUMERATED {set1, set2, set3}                             OPTIONAL,
        scs-60kHz-r16                                 ENUMERATED {set1, set2, set3}                             OPTIONAL
    }                                                                                                           OPTIONAL
}

FeatureSetUplink-v1710 ::= SEQUENCE {
    -- R1 23-3-1	Multi-TRP PUSCH repetition (type A) -codebook based
    mTRP-PUSCH-TypeA-CB-r17                ENUMERATED {n1,n2,n4}                              OPTIONAL,
    -- R1 23-3-1-2	Multi-TRP PUSCH repetition (type A) - non-codebook based
    mTRP-PUSCH-RepetitionTypeA-r17         ENUMERATED {n1,n2,n3,n4}                           OPTIONAL,
    -- R1 23-3-3	Multi-TRP PUCCH repetition-intra-slot
    mTRP-PUCCH-IntraSlot-r17               ENUMERATED {pf0-2, pf1-3-4, pf0-4}                 OPTIONAL,
    -- R1 23-8-4	Maximum 2 SP and 1 periodic SRS sets for antenna switching
    srs-AntennaSwitching2SP-1Periodic-r17  ENUMERATED {supported}                             OPTIONAL,
    -- R1 23-8-9	Extension of aperiodic SRS configuration for 1T4R, 1T2R and 2T4R
    srs-ExtensionAperiodicSRS-r17          ENUMERATED {supported}                             OPTIONAL,
    -- R1 23-8-10	1 aperiodic SRS resource set for 1T4R
    srs-OneAP-SRS-r17                      ENUMERATED {supported}                             OPTIONAL,
    -- R4 16-8 UE power class per band per band combination
    ue-PowerClassPerBandPerBC-r17          ENUMERATED {pc1dot5, pc2, pc3}                     OPTIONAL,
    -- R4 17-8 UL transmission in FR2 bands within an UL gap when the UL gap is activated
    tx-Support-UL-GapFR2-r17               ENUMERATED {supported}                             OPTIONAL
}

FeatureSetUplink-v1720 ::= SEQUENCE {
    -- R1 25-3: Repetitions for PUCCH format 0, 1, 2, 3 and 4 over multiple PUCCH subslots with configured K = 2, 4, 8
    pucch-Repetition-F0-1-2-3-4-RRC-Config-r17         ENUMERATED {supported}                 OPTIONAL,
    -- R1 25-3a: Repetitions for PUCCH format 0, 1, 2, 3 and 4 over multiple PUCCH subslots using dynamic repetition indication
    pucch-Repetition-F0-1-2-3-4-DynamicIndication-r17  ENUMERATED {supported}                 OPTIONAL,
    -- R1 25-3b: Inter-subslot frequency hopping for PUCCH repetitions
    interSubslotFreqHopping-PUCCH-r17                  ENUMERATED {supported}                 OPTIONAL,
    -- R1 25-8: Semi-static HARQ-ACK codebook for sub-slot PUCCH
    semiStaticHARQ-ACK-CodebookSub-SlotPUCCH-r17       ENUMERATED {supported}                 OPTIONAL,
    -- R1 25-14: PHY prioritization of overlapping low-priority DG-PUSCH and high-priority CG-PUSCH
    phy-PrioritizationLowPriorityDG-HighPriorityCG-r17 INTEGER(1..16)                         OPTIONAL,
    -- R1 25-15: PHY prioritization of overlapping high-priority DG-PUSCH and low-priority CG-PUSCH
    phy-PrioritizationHighPriorityDG-LowPriorityCG-r17 SEQUENCE {
        pusch-PreparationLowPriority-r17                   ENUMERATED{sym0, sym1, sym2},
        additionalCancellationTime-r17                     SEQUENCE {
            scs-15kHz-r17                                      ENUMERATED{sym0, sym1, sym2}   OPTIONAL,
            scs-30kHz-r17                                      ENUMERATED{sym0, sym1, sym2, sym3, sym4}    OPTIONAL,
            scs-60kHz-r17                                      ENUMERATED{sym0, sym1, sym2, sym3, sym4, sym5, sym6, sym7, sym8} OPTIONAL,
            scs-120kHz-r17                                     ENUMERATED{sym0, sym1, sym2, sym3, sym4, sym5, sym6, sym7, sym8, sym9,
                                                                          sym10, sym11, sym12, sym13, sym14, sym15, sym16}    OPTIONAL
        },
        maxNumberCarriers-r17                              INTEGER(1..16)
    }                                                                                         OPTIONAL,
    -- R4 17-5 Support of UL DC location(s) report
    extendedDC-LocationReport-r17                      ENUMERATED {supported}                 OPTIONAL
}

SubSlot-Config-r16 ::=                  SEQUENCE {
    sub-SlotConfig-NCP-r16                  ENUMERATED {n4,n5,n6,n7}              OPTIONAL,
    sub-SlotConfig-ECP-r16                  ENUMERATED {n4,n5,n6}                 OPTIONAL
}

SRS-AllPosResources-r16 ::=               SEQUENCE {
    srs-PosResources-r16                      SRS-PosResources-r16,
    srs-PosResourceAP-r16                     SRS-PosResourceAP-r16                OPTIONAL,
    srs-PosResourceSP-r16                     SRS-PosResourceSP-r16                OPTIONAL
}

SRS-PosResources-r16 ::=                       SEQUENCE {
    maxNumberSRS-PosResourceSetPerBWP-r16                ENUMERATED {n1, n2, n4, n8, n12, n16},
    maxNumberSRS-PosResourcesPerBWP-r16                  ENUMERATED {n1, n2, n4, n8, n16, n32, n64},
    maxNumberSRS-ResourcesPerBWP-PerSlot-r16             ENUMERATED {n1, n2, n3, n4, n5, n6, n8, n10, n12, n14},
    maxNumberPeriodicSRS-PosResourcesPerBWP-r16          ENUMERATED {n1, n2, n4, n8, n16, n32, n64},
    maxNumberPeriodicSRS-PosResourcesPerBWP-PerSlot-r16  ENUMERATED {n1, n2, n3, n4, n5, n6, n8, n10, n12, n14}
}

SRS-PosResourceAP-r16 ::=                SEQUENCE {
    maxNumberAP-SRS-PosResourcesPerBWP-r16         ENUMERATED {n1, n2, n4, n8, n16, n32, n64},
    maxNumberAP-SRS-PosResourcesPerBWP-PerSlot-r16 ENUMERATED {n1, n2, n3, n4, n5, n6, n8, n10, n12, n14}
}

SRS-PosResourceSP-r16 ::=                       SEQUENCE {
    maxNumberSP-SRS-PosResourcesPerBWP-r16               ENUMERATED {n1, n2, n4, n8, n16, n32, n64},
    maxNumberSP-SRS-PosResourcesPerBWP-PerSlot-r16       ENUMERATED {n1, n2, n3, n4, n5, n6, n8, n10, n12, n14}
}

SRS-Resources ::=                           SEQUENCE {
    maxNumberAperiodicSRS-PerBWP                ENUMERATED {n1, n2, n4, n8, n16},
    maxNumberAperiodicSRS-PerBWP-PerSlot        INTEGER (1..6),
    maxNumberPeriodicSRS-PerBWP                 ENUMERATED {n1, n2, n4, n8, n16},
    maxNumberPeriodicSRS-PerBWP-PerSlot         INTEGER (1..6),
    maxNumberSemiPersistentSRS-PerBWP           ENUMERATED {n1, n2, n4, n8, n16},
    maxNumberSemiPersistentSRS-PerBWP-PerSlot   INTEGER (1..6),
    maxNumberSRS-Ports-PerResource              ENUMERATED {n1, n2, n4}
}

DummyF ::=                                  SEQUENCE {
    maxNumberPeriodicCSI-ReportPerBWP           INTEGER (1..4),
    maxNumberAperiodicCSI-ReportPerBWP          INTEGER (1..4),
    maxNumberSemiPersistentCSI-ReportPerBWP     INTEGER (0..4),
    simultaneousCSI-ReportsAllCC                INTEGER (5..32)
}

-- TAG-FEATURESETUPLINK-STOP
-- ASN1STOP

-- ASN1START

-- TAG-FEATURESETUPLINKID-START

FeatureSetUplinkId ::=                  INTEGER (0..maxUplinkFeatureSets)

-- TAG-FEATURESETUPLINKID-STOP
-- ASN1STOP

-- ASN1START

-- TAG-FEATURESETUPLINKPERCC-START

FeatureSetUplinkPerCC ::=               SEQUENCE {
    supportedSubcarrierSpacingUL            SubcarrierSpacing,
    supportedBandwidthUL                    SupportedBandwidth,
    channelBW-90mhz                         ENUMERATED {supported}                      OPTIONAL,
    mimo-CB-PUSCH                           SEQUENCE {
        maxNumberMIMO-LayersCB-PUSCH            MIMO-LayersUL                               OPTIONAL,
        maxNumberSRS-ResourcePerSet             INTEGER (1..2)
    }                                                                                   OPTIONAL,
    maxNumberMIMO-LayersNonCB-PUSCH         MIMO-LayersUL                               OPTIONAL,
    supportedModulationOrderUL              ModulationOrder                             OPTIONAL
}
FeatureSetUplinkPerCC-v1540 ::=       SEQUENCE {
    mimo-NonCB-PUSCH                      SEQUENCE {
        maxNumberSRS-ResourcePerSet           INTEGER (1..4),
        maxNumberSimultaneousSRS-ResourceTx   INTEGER (1..4)
    } OPTIONAL
}

FeatureSetUplinkPerCC-v1700 ::=   SEQUENCE {
    supportedMinBandwidthUL-r17       SupportedBandwidth-v1700                          OPTIONAL,
    -- R1 23-3-1-3	FeMIMO: Multi-TRP PUSCH repetition (type B) - non-codebook based
    mTRP-PUSCH-RepetitionTypeB-r17    ENUMERATED {n1,n2,n3,n4}                          OPTIONAL,
    -- R1 23-3-1-1 -codebook based Multi-TRP PUSCH repetition (type B)
    mTRP-PUSCH-TypeB-CB-r17           ENUMERATED {n1,n2,n4}                             OPTIONAL,
    supportedBandwidthUL-v1710        SupportedBandwidth-v1700                          OPTIONAL
}

-- TAG-FEATURESETUPLINKPERCC-STOP
-- ASN1STOP

-- ASN1START

-- TAG-FEATURESETUPLINKPERCC-ID-START

FeatureSetUplinkPerCC-Id ::=            INTEGER (1..maxPerCC-FeatureSets)

-- TAG-FEATURESETUPLINKPERCC-ID-STOP
-- ASN1STOP

-- ASN1START

-- TAG-FREQBANDINDICATOREUTRA-START

FreqBandIndicatorEUTRA ::=  INTEGER (1..maxBandsEUTRA)

-- TAG-FREQBANDINDICATOREUTRA-STOP
-- ASN1STOP

-- ASN1START

-- TAG-FREQBANDLIST-START

FreqBandList ::=                SEQUENCE (SIZE (1..maxBandsMRDC)) OF FreqBandInformation

FreqBandInformation ::=         CHOICE {
    bandInformationEUTRA            FreqBandInformationEUTRA,
    bandInformationNR               FreqBandInformationNR
}

FreqBandInformationEUTRA ::=    SEQUENCE {
    bandEUTRA                       FreqBandIndicatorEUTRA,
    ca-BandwidthClassDL-EUTRA       CA-BandwidthClassEUTRA                  OPTIONAL,   -- Need N
    ca-BandwidthClassUL-EUTRA       CA-BandwidthClassEUTRA                  OPTIONAL    -- Need N
}

FreqBandInformationNR ::=       SEQUENCE {
    bandNR                          FreqBandIndicatorNR,
    maxBandwidthRequestedDL         AggregatedBandwidth                     OPTIONAL,   -- Need N
    maxBandwidthRequestedUL         AggregatedBandwidth                     OPTIONAL,   -- Need N
    maxCarriersRequestedDL          INTEGER (1..maxNrofServingCells)        OPTIONAL,   -- Need N
    maxCarriersRequestedUL          INTEGER (1..maxNrofServingCells)        OPTIONAL    -- Need N
}

AggregatedBandwidth ::=         ENUMERATED {mhz50, mhz100, mhz150, mhz200, mhz250, mhz300, mhz350,
                                            mhz400, mhz450, mhz500, mhz550, mhz600, mhz650, mhz700, mhz750, mhz800}

-- TAG-FREQBANDLIST-STOP
-- ASN1STOP

-- ASN1START

-- TAG-FREQSEPARATIONCLASS-START

FreqSeparationClass ::= ENUMERATED { mhz800, mhz1200, mhz1400, ..., mhz400-v1650, mhz600-v1650}

FreqSeparationClassDL-v1620 ::= ENUMERATED {mhz1000, mhz1600, mhz1800, mhz2000, mhz2200, mhz2400}

FreqSeparationClassUL-v1620 ::= ENUMERATED {mhz1000}

-- TAG-FREQSEPARATIONCLASS-STOP
-- ASN1STOP

-- ASN1START

-- TAG-FREQSEPARATIONCLASSDL-Only-START

FreqSeparationClassDL-Only-r16 ::= ENUMERATED {mhz200, mhz400, mhz600, mhz800, mhz1000, mhz1200}

-- TAG-FREQSEPARATIONCLASSDL-Only-STOP
-- ASN1STOP

-- ASN1START

-- TAG-FR2-2-ACCESSPARAMSPERBAND-START

FR2-2-AccessParamsPerBand-r17 ::=       SEQUENCE {
    -- R1 24-1: Basic FR2-2 DL support
    dl-FR2-2-SCS-120kHz-r17                 ENUMERATED {supported}            OPTIONAL,
    -- R1 24-1a: Basic FR2-2 UL support
    ul-FR2-2-SCS-120kHz-r17                 ENUMERATED {supported}            OPTIONAL,
    -- R1 24-2: 120KHz SSB support for initial access in FR2-2
    initialAccessSSB-120kHz-r17             ENUMERATED {supported}            OPTIONAL,
    -- R1 24-1b: Wideband PRACH for 120 kHz in FR2-2
    widebandPRACH-SCS-120kHz-r17            ENUMERATED {supported}            OPTIONAL,
    -- R1 24-1c: Multi-RB support PUCCH format 0/1/4 for 120 kHz in FR2-2
    multiRB-PUCCH-SCS-120kHz-r17            ENUMERATED {supported}            OPTIONAL,
    -- R1 24-1d: Multiple PDSCH scheduling by single DCI for 120kHz in FR2-2
    multiPDSCH-SingleDCI-FR2-2-SCS-120kHz-r17 ENUMERATED {supported}          OPTIONAL,
    -- R1 24-1e: Multiple PUSCH scheduling by single DCI for 120kHz in FR2-2
    multiPUSCH-SingleDCI-FR2-2-SCS-120kHz-r17 ENUMERATED {supported}          OPTIONAL,
    -- R1 24-4: 480KHz SCS support for DL
    dl-FR2-2-SCS-480kHz-r17                 ENUMERATED {supported}            OPTIONAL,
    -- R1 24-4a: 480KHz SCS support for UL
    ul-FR2-2-SCS-480kHz-r17                 ENUMERATED {supported}            OPTIONAL,
    -- R1 24-3: 480KHz SSB support for initial access in FR2-2
    initialAccessSSB-480kHz-r17             ENUMERATED {supported}            OPTIONAL,
    -- R1 24-4b: Wideband PRACH for 480 kHz in FR2-2
    widebandPRACH-SCS-480kHz-r17            ENUMERATED {supported}            OPTIONAL,
    -- R1 24-4c: Multi-RB support PUCCH format 0/1/4 for 480 kHz in FR2-2
    multiRB-PUCCH-SCS-480kHz-r17            ENUMERATED {supported}            OPTIONAL,
    -- R1 24-4f: Enhanced PDCCH monitoring for 480KHz in FR2-2
    enhancedPDCCH-monitoringSCS-480kHz-r17  ENUMERATED {supported}            OPTIONAL,
    -- R1 24-5: 960KHz SCS support for DL
    dl-FR2-2-SCS-960kHz-r17                 ENUMERATED {supported}            OPTIONAL,
    -- R1 24-5a: 960KHz SCS support for UL
    ul-FR2-2-SCS-960kHz-r17                 ENUMERATED {supported}            OPTIONAL,
    -- R1 24-5c: Multi-RB support PUCCH format 0/1/4 for 960 kHz in FR2-2
    multiRB-PUCCH-SCS-960kHz-r17            ENUMERATED {supported}            OPTIONAL,
    -- R1 24-5f: Enhanced PDCCH monitoring for 960KHz in FR2-2
    enhancedPDCCH-monitoringSCS-960kHz-r17  SEQUENCE {
        pdcch-monitoring4-1-r17                 ENUMERATED {supported}        OPTIONAL,
        pdcch-monitoring4-2-r17                 ENUMERATED {supported}        OPTIONAL,
        pdcch-monitoring8-4-r17                 ENUMERATED {supported}        OPTIONAL
    }                                                                         OPTIONAL,
    -- R1 24-6: Type 1 channel access procedure in uplink for FR2-2 with shared spectrum channel access
    type1-ChannelAccess-FR2-2-r17           ENUMERATED {supported}            OPTIONAL,
    -- R1 24-7: Type 2 channel access procedure in uplink for FR2-2 with shared spectrum channel access
    type2-ChannelAccess-FR2-2-r17           ENUMERATED {supported}            OPTIONAL,
    -- R1 24-10: Reduced beam switching time delay
    reduced-BeamSwitchTiming-FR2-2-r17      ENUMERATED {supported}            OPTIONAL,
    -- R1 24-8: 32 DL HARQ processes for FR 2-2
    support32-DL-HARQ-ProcessPerSCS-r17     SEQUENCE {
        scs-120kHz-r17                          ENUMERATED {supported}        OPTIONAL,
        scs-480kHz-r17                          ENUMERATED {supported}        OPTIONAL,
        scs-960kHz-r17                          ENUMERATED {supported}        OPTIONAL
    }                                                                         OPTIONAL,
    -- R1 24-9: 32 UL HARQ processes for FR 2-2
    support32-UL-HARQ-ProcessPerSCS-r17		SEQUENCE {
        scs-120kHz-r17                          ENUMERATED {supported}        OPTIONAL,
        scs-480kHz-r17                          ENUMERATED {supported}        OPTIONAL,
        scs-960kHz-r17                          ENUMERATED {supported}        OPTIONAL
    }                                                                         OPTIONAL,
    ...,
    [[
    -- R4 15-1: 64QAM for PUSCH for FR2-2
    modulation64-QAM-PUSCH-FR2-2-r17            ENUMERATED {supported}        OPTIONAL
    ]]
}

-- TAG-FR2-2-ACCESSPARAMSPERBAND-STOP
-- ASN1STOP

-- ASN1START

-- TAG-HIGHSPEEDPARAMETERS-START

HighSpeedParameters-r16 ::= SEQUENCE {
    measurementEnhancement-r16       ENUMERATED {supported}   OPTIONAL,
    demodulationEnhancement-r16      ENUMERATED {supported}   OPTIONAL
}

HighSpeedParameters-v1650 ::= CHOICE {
    intraNR-MeasurementEnhancement-r16       ENUMERATED {supported},
    interRAT-MeasurementEnhancement-r16      ENUMERATED {supported}
}

HighSpeedParameters-v1700 ::= SEQUENCE {
    -- R4 18-1: Enhanced RRM requirements specified for CA for FR1 HST
    measurementEnhancementCA-r17            ENUMERATED {supported}   OPTIONAL,
    -- R4 18-2: Enhanced RRM requirements specified for inter-frequency measurement in connected mode for FR1 HST
    measurementEnhancementInterFreq-r17     ENUMERATED {supported}   OPTIONAL
}

-- TAG-HIGHSPEEDPARAMETERS-STOP
-- ASN1STOP

-- ASN1START

-- TAG-IMS-PARAMETERS-START

IMS-Parameters ::=         SEQUENCE {
    ims-ParametersCommon       IMS-ParametersCommon                  OPTIONAL,
    ims-ParametersFRX-Diff     IMS-ParametersFRX-Diff                OPTIONAL,
    ...
}

IMS-Parameters-v1700 ::=   SEQUENCE {
    ims-ParametersFR2-2-r17    IMS-ParametersFR2-2-r17               OPTIONAL
}

IMS-ParametersCommon ::=   SEQUENCE {
    voiceOverEUTRA-5GC                  ENUMERATED {supported}                OPTIONAL,
    ...,
    [[
    voiceOverSCG-BearerEUTRA-5GC        ENUMERATED {supported}                OPTIONAL
    ]],
    [[
    voiceFallbackIndicationEPS-r16       ENUMERATED {supported}                   OPTIONAL
    ]]
}

IMS-ParametersFRX-Diff ::= SEQUENCE {
    voiceOverNR                ENUMERATED {supported}                OPTIONAL,
    ...
}

IMS-ParametersFR2-2-r17 ::= SEQUENCE {
    voiceOverNR-r17             ENUMERATED {supported}               OPTIONAL,
    ...
}

-- TAG-IMS-PARAMETERS-STOP
-- ASN1STOP

-- ASN1START

-- TAG-INTERRAT-PARAMETERS-START

InterRAT-Parameters ::=             SEQUENCE {
    eutra                               EUTRA-Parameters                OPTIONAL,
    ...,
    [[
    utra-FDD-r16                        UTRA-FDD-Parameters-r16         OPTIONAL
    ]]

}

EUTRA-Parameters ::=                SEQUENCE {
    supportedBandListEUTRA          SEQUENCE (SIZE (1..maxBandsEUTRA)) OF FreqBandIndicatorEUTRA,
    eutra-ParametersCommon              EUTRA-ParametersCommon                                      OPTIONAL,
    eutra-ParametersXDD-Diff            EUTRA-ParametersXDD-Diff                                    OPTIONAL,
    ...
}

EUTRA-ParametersCommon ::=      SEQUENCE {
    mfbi-EUTRA                          ENUMERATED {supported}          OPTIONAL,
    modifiedMPR-BehaviorEUTRA           BIT STRING (SIZE (32))          OPTIONAL,
    multiNS-Pmax-EUTRA                  ENUMERATED {supported}          OPTIONAL,
    rs-SINR-MeasEUTRA                   ENUMERATED {supported}          OPTIONAL,
    ...,
    [[
    ne-DC                               ENUMERATED {supported}          OPTIONAL
    ]],
    [[
    nr-HO-ToEN-DC-r16                   ENUMERATED {supported}          OPTIONAL
    ]]
}

EUTRA-ParametersXDD-Diff ::=        SEQUENCE {
    rsrqMeasWidebandEUTRA               ENUMERATED {supported}          OPTIONAL,
    ...
}

UTRA-FDD-Parameters-r16 ::=                SEQUENCE {
    supportedBandListUTRA-FDD-r16              SEQUENCE (SIZE (1..maxBandsUTRA-FDD-r16)) OF SupportedBandUTRA-FDD-r16,
    ...
}

SupportedBandUTRA-FDD-r16 ::=           ENUMERATED {
                                            bandI, bandII, bandIII, bandIV, bandV, bandVI,
                                            bandVII, bandVIII, bandIX, bandX, bandXI,
                                            bandXII, bandXIII, bandXIV, bandXV, bandXVI,
                                            bandXVII, bandXVIII, bandXIX, bandXX,
                                            bandXXI, bandXXII, bandXXIII, bandXXIV,
                                            bandXXV, bandXXVI, bandXXVII, bandXXVIII,
                                            bandXXIX, bandXXX, bandXXXI, bandXXXII}

-- TAG-INTERRAT-PARAMETERS-STOP
-- ASN1STOP

-- ASN1START

-- TAG-MAC-PARAMETERS-START

MAC-Parameters ::= SEQUENCE {
    mac-ParametersCommon            MAC-ParametersCommon        OPTIONAL,
    mac-ParametersXDD-Diff          MAC-ParametersXDD-Diff      OPTIONAL
}

MAC-Parameters-v1610 ::= SEQUENCE {
    mac-ParametersFRX-Diff-r16      MAC-ParametersFRX-Diff-r16  OPTIONAL
}

MAC-Parameters-v1700 ::= SEQUENCE {
    mac-ParametersFR2-2-r17         MAC-ParametersFR2-2-r17     OPTIONAL
}

MAC-ParametersCommon ::=    SEQUENCE {
    lcp-Restriction                         ENUMERATED {supported}      OPTIONAL,
    dummy                                   ENUMERATED {supported}      OPTIONAL,
    lch-ToSCellRestriction                  ENUMERATED {supported}      OPTIONAL,
    ...,
    [[
    recommendedBitRate                      ENUMERATED {supported}      OPTIONAL,
    recommendedBitRateQuery                 ENUMERATED {supported}      OPTIONAL
    ]],
    [[
    recommendedBitRateMultiplier-r16         ENUMERATED {supported}     OPTIONAL,
    preEmptiveBSR-r16                        ENUMERATED {supported}     OPTIONAL,
    autonomousTransmission-r16               ENUMERATED {supported}     OPTIONAL,
    lch-PriorityBasedPrioritization-r16      ENUMERATED {supported}     OPTIONAL,
    lch-ToConfiguredGrantMapping-r16         ENUMERATED {supported}     OPTIONAL,
    lch-ToGrantPriorityRestriction-r16       ENUMERATED {supported}     OPTIONAL,
    singlePHR-P-r16                          ENUMERATED {supported}     OPTIONAL,
    ul-LBT-FailureDetectionRecovery-r16      ENUMERATED {supported}     OPTIONAL,
    -- R4 8-1: MPE
    tdd-MPE-P-MPR-Reporting-r16              ENUMERATED {supported}     OPTIONAL,
    lcid-ExtensionIAB-r16                    ENUMERATED {supported}     OPTIONAL
    ]],
    [[
    spCell-BFR-CBRA-r16                      ENUMERATED {supported}     OPTIONAL
    ]],
    [[
    srs-ResourceId-Ext-r16                   ENUMERATED {supported}     OPTIONAL
    ]],
    [[
    enhancedUuDRX-forSidelink-r17            ENUMERATED {supported}     OPTIONAL,
    --27-10: Support of UL MAC CE based MG activation request for PRS measurements
    mg-ActivationRequestPRS-Meas-r17         ENUMERATED {supported}     OPTIONAL,
    --27-11: Support of DL MAC CE based MG activation request for PRS measurements
    mg-ActivationCommPRS-Meas-r17            ENUMERATED {supported}     OPTIONAL,
    intraCG-Prioritization-r17               ENUMERATED {supported}     OPTIONAL,
    jointPrioritizationCG-Retx-Timer-r17     ENUMERATED {supported}     OPTIONAL,
    survivalTime-r17                         ENUMERATED {supported}     OPTIONAL,
    lcg-ExtensionIAB-r17                     ENUMERATED {supported}     OPTIONAL,
    harq-FeedbackDisabled-r17                ENUMERATED {supported}     OPTIONAL,
    uplink-Harq-ModeB-r17                    ENUMERATED {supported}     OPTIONAL,
    sr-TriggeredBy-TA-Report-r17             ENUMERATED {supported}     OPTIONAL,
    extendedDRX-CycleInactive-r17            ENUMERATED {supported}     OPTIONAL,
    simultaneousSR-PUSCH-DiffPUCCH-groups-r17 ENUMERATED {supported}    OPTIONAL,
    lastTransmissionUL-r17                   ENUMERATED {supported}     OPTIONAL
    ]]
}

MAC-ParametersFRX-Diff-r16 ::=  SEQUENCE {
    directMCG-SCellActivation-r16           ENUMERATED {supported}      OPTIONAL,
    directMCG-SCellActivationResume-r16     ENUMERATED {supported}      OPTIONAL,
    directSCG-SCellActivation-r16           ENUMERATED {supported}      OPTIONAL,
    directSCG-SCellActivationResume-r16     ENUMERATED {supported}      OPTIONAL,
    -- R1 19-1: DRX Adaptation
    drx-Adaptation-r16          SEQUENCE {
        non-SharedSpectrumChAccess-r16      MinTimeGap-r16              OPTIONAL,
        sharedSpectrumChAccess-r16          MinTimeGap-r16              OPTIONAL
    }                                                                   OPTIONAL,
    ...
}

MAC-ParametersFR2-2-r17 ::=  SEQUENCE {
    directMCG-SCellActivation-r17           ENUMERATED {supported}      OPTIONAL,
    directMCG-SCellActivationResume-r17     ENUMERATED {supported}      OPTIONAL,
    directSCG-SCellActivation-r17           ENUMERATED {supported}      OPTIONAL,
    directSCG-SCellActivationResume-r17     ENUMERATED {supported}      OPTIONAL,
    drx-Adaptation-r17       SEQUENCE {
        non-SharedSpectrumChAccess-r17      MinTimeGapFR2-2-r17         OPTIONAL,
        sharedSpectrumChAccess-r17          MinTimeGapFR2-2-r17         OPTIONAL
    }                                                                   OPTIONAL,
    ...
}

MAC-ParametersXDD-Diff ::=  SEQUENCE {
    skipUplinkTxDynamic                     ENUMERATED {supported}     OPTIONAL,
    logicalChannelSR-DelayTimer             ENUMERATED {supported}     OPTIONAL,
    longDRX-Cycle                           ENUMERATED {supported}     OPTIONAL,
    shortDRX-Cycle                          ENUMERATED {supported}     OPTIONAL,
    multipleSR-Configurations               ENUMERATED {supported}     OPTIONAL,
    multipleConfiguredGrants                ENUMERATED {supported}     OPTIONAL,
    ...,
    [[
    secondaryDRX-Group-r16                  ENUMERATED {supported}     OPTIONAL
    ]],
    [[
    enhancedSkipUplinkTxDynamic-r16         ENUMERATED {supported}     OPTIONAL,
    enhancedSkipUplinkTxConfigured-r16      ENUMERATED {supported}     OPTIONAL
    ]]
}

MinTimeGap-r16 ::=    SEQUENCE {
    scs-15kHz-r16                         ENUMERATED {sl1, sl3}        OPTIONAL,
    scs-30kHz-r16                         ENUMERATED {sl1, sl6}        OPTIONAL,
    scs-60kHz-r16                         ENUMERATED {sl1, sl12}       OPTIONAL,
    scs-120kHz-r16                        ENUMERATED {sl2, sl24}       OPTIONAL
}

MinTimeGapFR2-2-r17 ::= SEQUENCE {
    scs-120kHz-r17                        ENUMERATED {sl2, sl24}       OPTIONAL,
    scs-480kHz-r17                        ENUMERATED {sl8, sl96}       OPTIONAL,
    scs-960kHz-r17                        ENUMERATED {sl16, sl192}     OPTIONAL
}

-- TAG-MAC-PARAMETERS-STOP
-- ASN1STOP

-- ASN1START

-- TAG-MEASANDMOBPARAMETERS-START

MeasAndMobParameters ::=                    SEQUENCE {
    measAndMobParametersCommon              MeasAndMobParametersCommon              OPTIONAL,
    measAndMobParametersXDD-Diff                MeasAndMobParametersXDD-Diff        OPTIONAL,
    measAndMobParametersFRX-Diff                MeasAndMobParametersFRX-Diff        OPTIONAL
}

MeasAndMobParameters-v1700 ::=          SEQUENCE {
    measAndMobParametersFR2-2-r17           MeasAndMobParametersFR2-2-r17           OPTIONAL
}

MeasAndMobParametersCommon ::=          SEQUENCE {
    supportedGapPattern                     BIT STRING (SIZE (22))                  OPTIONAL,
    ssb-RLM                                 ENUMERATED {supported}                  OPTIONAL,
    ssb-AndCSI-RS-RLM                       ENUMERATED {supported}                  OPTIONAL,
    ...,
    [[
    eventB-MeasAndReport                    ENUMERATED {supported}                  OPTIONAL,
    handoverFDD-TDD                         ENUMERATED {supported}                  OPTIONAL,
    eutra-CGI-Reporting                     ENUMERATED {supported}                  OPTIONAL,
    nr-CGI-Reporting                        ENUMERATED {supported}                  OPTIONAL
    ]],
    [[
    independentGapConfig                    ENUMERATED {supported}                  OPTIONAL,
    periodicEUTRA-MeasAndReport             ENUMERATED {supported}                  OPTIONAL,
    handoverFR1-FR2                         ENUMERATED {supported}                  OPTIONAL,
    maxNumberCSI-RS-RRM-RS-SINR             ENUMERATED {n4, n8, n16, n32, n64, n96} OPTIONAL
    ]],
    [[
    nr-CGI-Reporting-ENDC                   ENUMERATED {supported}                  OPTIONAL
    ]],
    [[
    eutra-CGI-Reporting-NEDC                ENUMERATED {supported}                  OPTIONAL,
    eutra-CGI-Reporting-NRDC                ENUMERATED {supported}                  OPTIONAL,
    nr-CGI-Reporting-NEDC                   ENUMERATED {supported}                  OPTIONAL,
    nr-CGI-Reporting-NRDC                   ENUMERATED {supported}                  OPTIONAL
    ]],
    [[
    reportAddNeighMeasForPeriodic-r16       ENUMERATED {supported}                  OPTIONAL,
    condHandoverParametersCommon-r16        SEQUENCE {
       condHandoverFDD-TDD-r16                  ENUMERATED {supported}              OPTIONAL,
       condHandoverFR1-FR2-r16                  ENUMERATED {supported}              OPTIONAL
    }                                                                               OPTIONAL,
    nr-NeedForGap-Reporting-r16             ENUMERATED {supported}                  OPTIONAL,
    supportedGapPattern-NRonly-r16          BIT STRING (SIZE (10))                  OPTIONAL,
    supportedGapPattern-NRonly-NEDC-r16     ENUMERATED {supported}                  OPTIONAL,
    maxNumberCLI-RSSI-r16                   ENUMERATED {n8, n16, n32, n64}          OPTIONAL,
    maxNumberCLI-SRS-RSRP-r16               ENUMERATED {n4, n8, n16, n32}           OPTIONAL,
    maxNumberPerSlotCLI-SRS-RSRP-r16        ENUMERATED {n2, n4, n8}                 OPTIONAL,
    mfbi-IAB-r16                            ENUMERATED {supported}                  OPTIONAL,
    dummy                                   ENUMERATED {supported}                  OPTIONAL,
    nr-CGI-Reporting-NPN-r16                ENUMERATED {supported}                  OPTIONAL,
    idleInactiveEUTRA-MeasReport-r16        ENUMERATED {supported}                  OPTIONAL,
    idleInactive-ValidityArea-r16           ENUMERATED {supported}                  OPTIONAL,
    eutra-AutonomousGaps-r16                ENUMERATED {supported}                  OPTIONAL,
    eutra-AutonomousGaps-NEDC-r16           ENUMERATED {supported}                  OPTIONAL,
    eutra-AutonomousGaps-NRDC-r16           ENUMERATED {supported}                  OPTIONAL,
    pcellT312-r16                           ENUMERATED {supported}                  OPTIONAL,
    supportedGapPattern-r16                 BIT STRING (SIZE (2))                   OPTIONAL
    ]],
    [[
    -- R4 19-2 Concurrent measurement gaps
    concurrentMeasGap-r17                   CHOICE {
        concurrentPerUE-OnlyMeasGap-r17         ENUMERATED {supported},
        concurrentPerUE-PerFRCombMeasGap-r17    ENUMERATED {supported}
    }                                                                               OPTIONAL,
    -- R4 19-1 Network controlled small gap (NCSG)
    nr-NeedForGapNCSG-Reporting-r17         ENUMERATED {supported}                  OPTIONAL,
    eutra-NeedForGapNCSG-Reporting-r17      ENUMERATED {supported}                  OPTIONAL,
    -- R4 19-1-1 per FR Network controlled small gap (NCSG)
    ncsg-MeasGapPerFR-r17                   ENUMERATED {supported}                  OPTIONAL,
    -- R4 19-1-2 Network controlled small gap (NCSG) supported patterns
    ncsg-MeasGapPatterns-r17                BIT STRING (SIZE(24))                   OPTIONAL,
    -- R4 19-1-3 Network controlled small gap (NCSG) supported NR-only patterns
    ncsg-MeasGapNR-Patterns-r17             BIT STRING (SIZE(24))                   OPTIONAL,
    -- R4 19-3-2 pre-configured measurement gap
    preconfiguredUE-AutonomousMeasGap-r17   ENUMERATED {supported}                  OPTIONAL,
    -- R4 19-3-1 pre-configured measurement gap
    preconfiguredNW-ControlledMeasGap-r17   ENUMERATED {supported}                  OPTIONAL,
    handoverFR1-FR2-2-r17                   ENUMERATED {supported}                  OPTIONAL,
    handoverFR2-1-FR2-2-r17                 ENUMERATED {supported}                  OPTIONAL,
    -- RAN4 14-1: per-FR MG for PRS measurement
    independentGapConfigPRS-r17             ENUMERATED {supported}                  OPTIONAL,
    rrm-RelaxationRRC-ConnectedRedCap-r17   ENUMERATED {supported}                  OPTIONAL,
    -- R4 25-3: Parallel measurements with multiple measurement gaps
    parallelMeasurementGap-r17              ENUMERATED {n2}                         OPTIONAL,
    condHandoverWithSCG-NRDC-r17            ENUMERATED {supported}                  OPTIONAL,
    gNB-ID-LengthReporting-r17              ENUMERATED {supported}                  OPTIONAL,
    gNB-ID-LengthReporting-ENDC-r17         ENUMERATED {supported}                  OPTIONAL,
    gNB-ID-LengthReporting-NEDC-r17         ENUMERATED {supported}                  OPTIONAL,
    gNB-ID-LengthReporting-NRDC-r17         ENUMERATED {supported}                  OPTIONAL,
    gNB-ID-LengthReporting-NPN-r17          ENUMERATED {supported}                  OPTIONAL
    ]],
    [[
    -- R4 25-1: Parallel measurements on multiple SMTC-s for a single frequency carrier
    parallelSMTC-r17                        ENUMERATED {n4}                         OPTIONAL,
    -- R4 19-2-1 Concurrent measurement gaps for EUTRA
    concurrentMeasGapEUTRA-r17              ENUMERATED {supported}                  OPTIONAL,
    serviceLinkPropDelayDiffReporting-r17   ENUMERATED {supported}                  OPTIONAL,
    -- R4 19-1-4 Network controlled small gap (NCSG) performing measurement based on flag deriveSSB-IndexFromCellInter
    ncsg-SymbolLevelScheduleRestrictionInter-r17  ENUMERATED {supported}            OPTIONAL
    ]],
    [[
    eventD1-MeasReportTrigger-r17           ENUMERATED {supported}                  OPTIONAL,
    independentGapConfig-maxCC-r17          SEQUENCE {
        fr1-Only-r17                            INTEGER (1..32)                     OPTIONAL,
        fr2-Only-r17                            INTEGER (1..32)                     OPTIONAL,
        fr1-AndFR2-r17                          INTEGER (1..32)                     OPTIONAL
    }                                                                               OPTIONAL
    ]],
    [[
    interSatMeas-r17                            ENUMERATED {supported}              OPTIONAL,
    deriveSSB-IndexFromCellInterNon-NCSG-r17    ENUMERATED {supported}              OPTIONAL
    ]]
}

MeasAndMobParametersXDD-Diff ::=        SEQUENCE {
    intraAndInterF-MeasAndReport            ENUMERATED {supported}                  OPTIONAL,
    eventA-MeasAndReport                    ENUMERATED {supported}                  OPTIONAL,
    ...,
    [[
    handoverInterF                          ENUMERATED {supported}                  OPTIONAL,
    handoverLTE-EPC                         ENUMERATED {supported}                  OPTIONAL,
    handoverLTE-5GC                         ENUMERATED {supported}                  OPTIONAL
    ]],
    [[
    sftd-MeasNR-Neigh                       ENUMERATED {supported}                  OPTIONAL,
    sftd-MeasNR-Neigh-DRX                   ENUMERATED {supported}                  OPTIONAL
    ]],
    [[
    dummy                                   ENUMERATED {supported}                  OPTIONAL
    ]]
}

MeasAndMobParametersFRX-Diff ::=            SEQUENCE {
    ss-SINR-Meas                                ENUMERATED {supported}              OPTIONAL,
    csi-RSRP-AndRSRQ-MeasWithSSB                ENUMERATED {supported}              OPTIONAL,
    csi-RSRP-AndRSRQ-MeasWithoutSSB             ENUMERATED {supported}              OPTIONAL,
    csi-SINR-Meas                               ENUMERATED {supported}              OPTIONAL,
    csi-RS-RLM                                  ENUMERATED {supported}              OPTIONAL,
    ...,
    [[
    handoverInterF                              ENUMERATED {supported}              OPTIONAL,
    handoverLTE-EPC                             ENUMERATED {supported}              OPTIONAL,
    handoverLTE-5GC                             ENUMERATED {supported}              OPTIONAL
    ]],
    [[
    maxNumberResource-CSI-RS-RLM                ENUMERATED {n2, n4, n6, n8}         OPTIONAL
    ]],
    [[
    simultaneousRxDataSSB-DiffNumerology        ENUMERATED {supported}              OPTIONAL
    ]],
    [[
    nr-AutonomousGaps-r16                       ENUMERATED {supported}              OPTIONAL,
    nr-AutonomousGaps-ENDC-r16                  ENUMERATED {supported}              OPTIONAL,
    nr-AutonomousGaps-NEDC-r16                  ENUMERATED {supported}              OPTIONAL,
    nr-AutonomousGaps-NRDC-r16                  ENUMERATED {supported}              OPTIONAL,
    dummy                                       ENUMERATED {supported}              OPTIONAL,
    cli-RSSI-Meas-r16                           ENUMERATED {supported}              OPTIONAL,
    cli-SRS-RSRP-Meas-r16                       ENUMERATED {supported}              OPTIONAL,
    interFrequencyMeas-NoGap-r16                ENUMERATED {supported}              OPTIONAL,
    simultaneousRxDataSSB-DiffNumerology-Inter-r16  ENUMERATED {supported}          OPTIONAL,
    idleInactiveNR-MeasReport-r16               ENUMERATED {supported}              OPTIONAL,
    -- R4 6-2: Support of beam level Early Measurement Reporting
    idleInactiveNR-MeasBeamReport-r16           ENUMERATED {supported}              OPTIONAL
    ]],
    [[
    increasedNumberofCSIRSPerMO-r16             ENUMERATED {supported}              OPTIONAL
    ]]
}

MeasAndMobParametersFR2-2-r17 ::=           SEQUENCE {
    handoverInterF-r17                          ENUMERATED {supported}              OPTIONAL,
    handoverLTE-EPC-r17                         ENUMERATED {supported}              OPTIONAL,
    handoverLTE-5GC-r17                         ENUMERATED {supported}              OPTIONAL,
    idleInactiveNR-MeasReport-r17               ENUMERATED {supported}              OPTIONAL,
...
}

-- TAG-MEASANDMOBPARAMETERS-STOP
-- ASN1STOP

-- ASN1START

-- TAG-MEASANDMOBPARAMETERSMRDC-START

MeasAndMobParametersMRDC ::=            SEQUENCE {
    measAndMobParametersMRDC-Common         MeasAndMobParametersMRDC-Common                 OPTIONAL,
    measAndMobParametersMRDC-XDD-Diff       MeasAndMobParametersMRDC-XDD-Diff               OPTIONAL,
    measAndMobParametersMRDC-FRX-Diff       MeasAndMobParametersMRDC-FRX-Diff               OPTIONAL
}

MeasAndMobParametersMRDC-v1560 ::=      SEQUENCE {
    measAndMobParametersMRDC-XDD-Diff-v1560    MeasAndMobParametersMRDC-XDD-Diff-v1560      OPTIONAL
}

MeasAndMobParametersMRDC-v1610 ::=      SEQUENCE {
    measAndMobParametersMRDC-Common-v1610      MeasAndMobParametersMRDC-Common-v1610        OPTIONAL,
    interNR-MeasEUTRA-IAB-r16                  ENUMERATED {supported}                       OPTIONAL
}

MeasAndMobParametersMRDC-v1700 ::=      SEQUENCE {
    measAndMobParametersMRDC-Common-v1700      MeasAndMobParametersMRDC-Common-v1700        OPTIONAL
}

MeasAndMobParametersMRDC-v1730 ::=      SEQUENCE {
    measAndMobParametersMRDC-Common-v1730   MeasAndMobParametersMRDC-Common-v1730           OPTIONAL
}

MeasAndMobParametersMRDC-Common ::=     SEQUENCE {
    independentGapConfig                    ENUMERATED {supported}                          OPTIONAL
}

MeasAndMobParametersMRDC-Common-v1610 ::=   SEQUENCE {
    condPSCellChangeParametersCommon-r16        SEQUENCE {
        condPSCellChangeFDD-TDD-r16                 ENUMERATED {supported}                  OPTIONAL,
        condPSCellChangeFR1-FR2-r16                 ENUMERATED {supported}                  OPTIONAL
    }                                                                                       OPTIONAL,
    pscellT312-r16                              ENUMERATED {supported}                      OPTIONAL
}

MeasAndMobParametersMRDC-Common-v1700 ::=   SEQUENCE {
    condPSCellChangeParameters-r17              SEQUENCE {
        inter-SN-condPSCellChangeFDD-TDD-NRDC-r17       ENUMERATED {supported}              OPTIONAL,
        inter-SN-condPSCellChangeFR1-FR2-NRDC-r17       ENUMERATED {supported}              OPTIONAL,
        inter-SN-condPSCellChangeFDD-TDD-ENDC-r17       ENUMERATED {supported}              OPTIONAL,
        inter-SN-condPSCellChangeFR1-FR2-ENDC-r17       ENUMERATED {supported}              OPTIONAL,
        mn-InitiatedCondPSCellChange-FR1FDD-ENDC-r17    ENUMERATED {supported}              OPTIONAL,
        mn-InitiatedCondPSCellChange-FR1TDD-ENDC-r17    ENUMERATED {supported}              OPTIONAL,
        mn-InitiatedCondPSCellChange-FR2TDD-ENDC-r17    ENUMERATED {supported}              OPTIONAL,
        sn-InitiatedCondPSCellChange-FR1FDD-ENDC-r17    ENUMERATED {supported}              OPTIONAL,
        sn-InitiatedCondPSCellChange-FR1TDD-ENDC-r17    ENUMERATED {supported}              OPTIONAL,
        sn-InitiatedCondPSCellChange-FR2TDD-ENDC-r17    ENUMERATED {supported}              OPTIONAL
    }                                                                                       OPTIONAL,
    condHandoverWithSCG-ENDC-r17                        ENUMERATED {supported}              OPTIONAL,
    condHandoverWithSCG-NEDC-r17                        ENUMERATED {supported}              OPTIONAL
}

MeasAndMobParametersMRDC-Common-v1730 ::= SEQUENCE {
    independentGapConfig-maxCC-r17          SEQUENCE {
        fr1-Only-r17                            INTEGER (1..32)                             OPTIONAL,
        fr2-Only-r17                            INTEGER (1..32)                             OPTIONAL,
        fr1-AndFR2-r17                          INTEGER (1..32)                             OPTIONAL
    }
}

MeasAndMobParametersMRDC-XDD-Diff ::=   SEQUENCE {
    sftd-MeasPSCell                         ENUMERATED {supported}                          OPTIONAL,
    sftd-MeasNR-Cell                        ENUMERATED {supported}                          OPTIONAL
}

MeasAndMobParametersMRDC-XDD-Diff-v1560 ::=    SEQUENCE {
    sftd-MeasPSCell-NEDC                           ENUMERATED {supported}                   OPTIONAL
}

MeasAndMobParametersMRDC-FRX-Diff ::=          SEQUENCE {
    simultaneousRxDataSSB-DiffNumerology           ENUMERATED {supported}                   OPTIONAL
}

-- TAG-MEASANDMOBPARAMETERSMRDC-STOP
-- ASN1STOP

-- ASN1START

-- TAG-MIMO-LAYERS-START

MIMO-LayersDL ::=   ENUMERATED {twoLayers, fourLayers, eightLayers}

MIMO-LayersUL ::=   ENUMERATED {oneLayer, twoLayers, fourLayers}

-- TAG-MIMO-LAYERS-STOP
-- ASN1STOP

-- ASN1START

-- TAG-MIMO-PARAMETERSPERBAND-START

MIMO-ParametersPerBand ::=          SEQUENCE {
    tci-StatePDSCH                      SEQUENCE {
        maxNumberConfiguredTCI-StatesPerCC  ENUMERATED {n4, n8, n16, n32, n64, n128}                                   OPTIONAL,
        maxNumberActiveTCI-PerBWP           ENUMERATED {n1, n2, n4, n8}                                                OPTIONAL
    }                                                                                                              OPTIONAL,
    additionalActiveTCI-StatePDCCH              ENUMERATED {supported}                                             OPTIONAL,
    pusch-TransCoherence                        ENUMERATED {nonCoherent, partialCoherent, fullCoherent}            OPTIONAL,
    beamCorrespondenceWithoutUL-BeamSweeping    ENUMERATED {supported}                                             OPTIONAL,
    periodicBeamReport                          ENUMERATED {supported}                                             OPTIONAL,
    aperiodicBeamReport                         ENUMERATED {supported}                                             OPTIONAL,
    sp-BeamReportPUCCH                          ENUMERATED {supported}                                             OPTIONAL,
    sp-BeamReportPUSCH                          ENUMERATED {supported}                                             OPTIONAL,
    dummy1                                      DummyG                                                             OPTIONAL,
    maxNumberRxBeam                             INTEGER (2..8)                                                     OPTIONAL,
    maxNumberRxTxBeamSwitchDL                   SEQUENCE {
        scs-15kHz                                   ENUMERATED {n4, n7, n14}                                           OPTIONAL,
        scs-30kHz                                   ENUMERATED {n4, n7, n14}                                           OPTIONAL,
        scs-60kHz                                   ENUMERATED {n4, n7, n14}                                           OPTIONAL,
        scs-120kHz                                  ENUMERATED {n4, n7, n14}                                           OPTIONAL,
        scs-240kHz                                  ENUMERATED {n4, n7, n14}                                           OPTIONAL
    }                                                                                                              OPTIONAL,
    maxNumberNonGroupBeamReporting              ENUMERATED {n1, n2, n4}                                            OPTIONAL,
    groupBeamReporting                          ENUMERATED {supported}                                             OPTIONAL,
    uplinkBeamManagement                        SEQUENCE {
        maxNumberSRS-ResourcePerSet-BM              ENUMERATED {n2, n4, n8, n16},
        maxNumberSRS-ResourceSet                    INTEGER (1..8)
    }                                                                                                              OPTIONAL,
    maxNumberCSI-RS-BFD                 INTEGER (1..64)                                                            OPTIONAL,
    maxNumberSSB-BFD                    INTEGER (1..64)                                                            OPTIONAL,
    maxNumberCSI-RS-SSB-CBD             INTEGER (1..256)                                                           OPTIONAL,
    dummy2                              ENUMERATED {supported}                                                     OPTIONAL,
    twoPortsPTRS-UL                     ENUMERATED {supported}                                                     OPTIONAL,
    dummy5                              SRS-Resources                                                              OPTIONAL,
    dummy3                              INTEGER (1..4)                                                             OPTIONAL,
    beamReportTiming                    SEQUENCE {
        scs-15kHz                           ENUMERATED {sym2, sym4, sym8}                                              OPTIONAL,
        scs-30kHz                           ENUMERATED {sym4, sym8, sym14, sym28}                                      OPTIONAL,
        scs-60kHz                           ENUMERATED {sym8, sym14, sym28}                                            OPTIONAL,
        scs-120kHz                          ENUMERATED {sym14, sym28, sym56}                                           OPTIONAL
    }                                                                                                              OPTIONAL,
    ptrs-DensityRecommendationSetDL     SEQUENCE {
        scs-15kHz                           PTRS-DensityRecommendationDL                                               OPTIONAL,
        scs-30kHz                           PTRS-DensityRecommendationDL                                               OPTIONAL,
        scs-60kHz                           PTRS-DensityRecommendationDL                                               OPTIONAL,
        scs-120kHz                          PTRS-DensityRecommendationDL                                               OPTIONAL
    }                                                                                                              OPTIONAL,
    ptrs-DensityRecommendationSetUL     SEQUENCE {
        scs-15kHz                           PTRS-DensityRecommendationUL                                               OPTIONAL,
        scs-30kHz                           PTRS-DensityRecommendationUL                                               OPTIONAL,
        scs-60kHz                           PTRS-DensityRecommendationUL                                               OPTIONAL,
        scs-120kHz                          PTRS-DensityRecommendationUL                                               OPTIONAL
    }                                                                                                              OPTIONAL,
    dummy4                              DummyH                                                                     OPTIONAL,
    aperiodicTRS                        ENUMERATED {supported}                                                     OPTIONAL,
    ...,
    [[
    dummy6                              ENUMERATED {true}                                                          OPTIONAL,
    beamManagementSSB-CSI-RS            BeamManagementSSB-CSI-RS                                                   OPTIONAL,
    beamSwitchTiming                    SEQUENCE {
        scs-60kHz                           ENUMERATED {sym14, sym28, sym48, sym224, sym336}                           OPTIONAL,
        scs-120kHz                          ENUMERATED {sym14, sym28, sym48, sym224, sym336}                           OPTIONAL
    }                                                                                                              OPTIONAL,
    codebookParameters                  CodebookParameters                                                         OPTIONAL,
    csi-RS-IM-ReceptionForFeedback      CSI-RS-IM-ReceptionForFeedback                                             OPTIONAL,
    csi-RS-ProcFrameworkForSRS          CSI-RS-ProcFrameworkForSRS                                                 OPTIONAL,
    csi-ReportFramework                 CSI-ReportFramework                                                        OPTIONAL,
    csi-RS-ForTracking                  CSI-RS-ForTracking                                                         OPTIONAL,
    srs-AssocCSI-RS                     SEQUENCE (SIZE (1..maxNrofCSI-RS-Resources)) OF SupportedCSI-RS-Resource  OPTIONAL,
    spatialRelations                    SpatialRelations                                                           OPTIONAL
    ]],
    [[
    -- R1 16-2b-0: Support of default QCL assumption with two TCI states
    defaultQCL-TwoTCI-r16               ENUMERATED {supported}                                                     OPTIONAL,
    codebookParametersPerBand-r16       CodebookParameters-v1610                                                   OPTIONAL,
    -- R1 16-1b-3: Support of PUCCH resource groups per BWP for simultaneous spatial relation update
    simul-SpatialRelationUpdatePUCCHResGroup-r16    ENUMERATED {supported}                                         OPTIONAL,

    -- R1 16-1f: Maximum number of SCells configured for SCell beam failure recovery simultaneously
    maxNumberSCellBFR-r16                           ENUMERATED {n1,n2,n4,n8}                                       OPTIONAL,

    -- R1 16-2c: Supports simultaneous reception with different Type-D for FR2 only
    simultaneousReceptionDiffTypeD-r16              ENUMERATED {supported}                                         OPTIONAL,
    -- R1 16-1a-1: SSB/CSI-RS for L1-SINR measurement
    ssb-csirs-SINR-measurement-r16      SEQUENCE {
        maxNumberSSB-CSIRS-OneTx-CMR-r16    ENUMERATED {n8, n16, n32, n64},
        maxNumberCSI-IM-NZP-IMR-res-r16     ENUMERATED {n8, n16, n32, n64},
        maxNumberCSIRS-2Tx-res-r16          ENUMERATED {n0, n4, n8, n16, n32, n64},
        maxNumberSSB-CSIRS-res-r16          ENUMERATED {n8, n16, n32, n64, n128},
        maxNumberCSI-IM-NZP-IMR-res-mem-r16 ENUMERATED {n8, n16, n32, n64, n128},
        supportedCSI-RS-Density-CMR-r16     ENUMERATED {one, three, oneAndThree},
        maxNumberAperiodicCSI-RS-Res-r16    ENUMERATED {n2, n4, n8, n16, n32, n64},
        supportedSINR-meas-r16              ENUMERATED {ssbWithCSI-IM, ssbWithNZP-IMR, csirsWithNZP-IMR, csi-RSWithoutIMR}  OPTIONAL
    }                                                                                                              OPTIONAL,
    -- R1 16-1a-2: Non-group based L1-SINR reporting
    nonGroupSINR-reporting-r16              ENUMERATED {n1, n2, n4}                                                OPTIONAL,
    -- R1 16-1a-3: Non-group based L1-SINR reporting
    groupSINR-reporting-r16                 ENUMERATED {supported}                                                 OPTIONAL,

    multiDCI-multiTRP-Parameters-r16        SEQUENCE {
        -- R1 16-2a-0: Overlapping PDSCHs in time and fully overlapping in frequency and time
        overlapPDSCHsFullyFreqTime-r16          INTEGER (1..2)                                                     OPTIONAL,
        -- R1 16-2a-1: Overlapping PDSCHs in time and partially overlapping in frequency and time
        overlapPDSCHsInTimePartiallyFreq-r16    ENUMERATED {supported}                                             OPTIONAL,
        -- R1 16-2a-2: Out of order operation for DL
        outOfOrderOperationDL-r16               SEQUENCE {
            supportPDCCH-ToPDSCH-r16                ENUMERATED {supported}                                         OPTIONAL,
            supportPDSCH-ToHARQ-ACK-r16             ENUMERATED {supported}                                         OPTIONAL
        }                                                                                                          OPTIONAL,
        -- R1 16-2a-3: Out of order operation for UL
        outOfOrderOperationUL-r16               ENUMERATED {supported}                                             OPTIONAL,
        -- R1 16-2a-5: Separate CRS rate matching
        separateCRS-RateMatching-r16            ENUMERATED {supported}                                             OPTIONAL,
        -- R1 16-2a-6: Default QCL enhancement for multi-DCI based multi-TRP
        defaultQCL-PerCORESETPoolIndex-r16      ENUMERATED {supported}                                             OPTIONAL,
        -- R1 16-2a-7: Maximum number of activated TCI states
        maxNumberActivatedTCI-States-r16        SEQUENCE {
            maxNumberPerCORESET-Pool-r16            ENUMERATED {n1, n2, n4, n8},
            maxTotalNumberAcrossCORESET-Pool-r16    ENUMERATED {n2, n4, n8, n16}
        }                                                                                                          OPTIONAL
    }                                                                                                              OPTIONAL,
    singleDCI-SDM-scheme-Parameters-r16         SEQUENCE {
        -- R1 16-2b-1b: Single-DCI based SDM scheme - Support of new DMRS port entry
        supportNewDMRS-Port-r16                     ENUMERATED {supported1, supported2, supported3}                                        OPTIONAL,
        -- R1 16-2b-1a: Support of s-port DL PTRS
        supportTwoPortDL-PTRS-r16                   ENUMERATED {supported}                                         OPTIONAL
    }                                                                                                              OPTIONAL,
    -- R1 16-2b-2: Support of single-DCI based FDMSchemeA
    supportFDM-SchemeA-r16                      ENUMERATED {supported}                                             OPTIONAL,
    -- R1 16-2b-3a: Single-DCI based FDMSchemeB CW soft combining
    supportCodeWordSoftCombining-r16            ENUMERATED {supported}                                             OPTIONAL,
    -- R1 16-2b-4: Single-DCI based TDMSchemeA
    supportTDM-SchemeA-r16                      ENUMERATED {kb3, kb5, kb10, kb20, noRestriction}                   OPTIONAL,
    -- R1 16-2b-5: Single-DCI based inter-slot TDM
    supportInter-slotTDM-r16                    SEQUENCE {
        supportRepNumPDSCH-TDRA-r16                 ENUMERATED {n2, n3, n4, n5, n6, n7, n8, n16},
        maxTBS-Size-r16                             ENUMERATED {kb3, kb5, kb10, kb20, noRestriction},
        maxNumberTCI-states-r16                     INTEGER (1..2)
    }                                                                                                              OPTIONAL,
    -- R1 16-4: Low PAPR DMRS for PDSCH
    lowPAPR-DMRS-PDSCH-r16                      ENUMERATED {supported}                                             OPTIONAL,
    -- R1 16-6a: Low PAPR DMRS for PUSCH without transform precoding
    lowPAPR-DMRS-PUSCHwithoutPrecoding-r16      ENUMERATED {supported}                                             OPTIONAL,
    -- R1 16-6b: Low PAPR DMRS for PUCCH
    lowPAPR-DMRS-PUCCH-r16                      ENUMERATED {supported}                                             OPTIONAL,
    -- R1 16-6c: Low PAPR DMRS for PUSCH with transform precoding & pi/2 BPSK
    lowPAPR-DMRS-PUSCHwithPrecoding-r16         ENUMERATED {supported}                                             OPTIONAL,
    -- R1 16-7: Extension of the maximum number of configured aperiodic CSI report settings
    csi-ReportFrameworkExt-r16                  CSI-ReportFrameworkExt-r16                                         OPTIONAL,
    -- R1 16-3a, 16-3a-1, 16-3b, 16-3b-1, 16-8: Individual new codebook types
    codebookParametersAddition-r16              CodebookParametersAddition-r16                                     OPTIONAL,
    -- R1 16-8: Mixed codebook types
    codebookComboParametersAddition-r16         CodebookComboParametersAddition-r16                                OPTIONAL,
    -- R4 8-2: SSB based beam correspondence
    beamCorrespondenceSSB-based-r16             ENUMERATED {supported}                                             OPTIONAL,
    -- R4 8-3: CSI-RS based beam correspondence
    beamCorrespondenceCSI-RS-based-r16          ENUMERATED {supported}                                             OPTIONAL,
    beamSwitchTiming-r16                        SEQUENCE {
        scs-60kHz-r16                               ENUMERATED {sym224, sym336}                                    OPTIONAL,
        scs-120kHz-r16                              ENUMERATED {sym224, sym336}                                    OPTIONAL
    }                                                                                                              OPTIONAL
    ]],
    [[
    -- R1 16-1a-4: Semi-persistent L1-SINR report on PUCCH
    semi-PersistentL1-SINR-Report-PUCCH-r16     SEQUENCE {
        supportReportFormat1-2OFDM-syms-r16         ENUMERATED {supported}                                     OPTIONAL,
        supportReportFormat4-14OFDM-syms-r16        ENUMERATED {supported}                                     OPTIONAL
    }                                                                                                          OPTIONAL,
    -- R1 16-1a-5: Semi-persistent L1-SINR report on PUSCH
    semi-PersistentL1-SINR-Report-PUSCH-r16     ENUMERATED {supported}                                         OPTIONAL
    ]],
    [[
    -- R1 16-1h: Support of 64 configured PUCCH spatial relations
    spatialRelations-v1640                      SEQUENCE {
        maxNumberConfiguredSpatialRelations-v1640   ENUMERATED {n96, n128, n160, n192, n224, n256, n288, n320}
    }                                                                                                          OPTIONAL,
    -- R1 16-1i: Support of 64 configured candidate beam RSs for BFR
    support64CandidateBeamRS-BFR-r16            ENUMERATED {supported}                                         OPTIONAL
    ]],
    [[
    -- R1 16-2a-9: Interpretation of maxNumberMIMO-LayersPDSCH for multi-DCI based mTRP
    maxMIMO-LayersForMulti-DCI-mTRP-r16         ENUMERATED {supported}                                         OPTIONAL
    ]],
    [[
    supportedSINR-meas-v1670                    BIT STRING (SIZE (4))                                          OPTIONAL
    ]],
    [[
    -- R1 23-8-5	Increased repetition for SRS
    srs-increasedRepetition-r17                 ENUMERATED {supported}                                         OPTIONAL,
    -- R1 23-8-6	Partial frequency sounding of SRS
    srs-partialFrequencySounding-r17            ENUMERATED {supported}                                         OPTIONAL,
    -- R1 23-8-7	Start RB location hopping for partial frequency SRS
    srs-startRB-locationHoppingPartial-r17      ENUMERATED {supported}                                         OPTIONAL,
    -- R1 23-8-8	Comb-8 SRS
    srs-combEight-r17                           ENUMERATED {supported}                                         OPTIONAL,
    -- R1 23-9-1	Basic Features of Further Enhanced Port-Selection Type II Codebook (FeType-II) per band information
    codebookParametersfetype2-r17               CodebookParametersfetype2-r17                                  OPTIONAL,
    -- R1 23-3-1-2a    Two associated CSI-RS resources
    mTRP-PUSCH-twoCSI-RS-r17                    ENUMERATED {supported}                                         OPTIONAL,
    -- R1 23-3-2    Multi-TRP PUCCH repetition scheme 1 (inter-slot)
    mTRP-PUCCH-InterSlot-r17                    ENUMERATED {pf0-2, pf1-3-4, pf0-4}                             OPTIONAL,
    -- R1 23-3-2b    Cyclic mapping for multi-TRP PUCCH repetition
    mTRP-PUCCH-CyclicMapping-r17                ENUMERATED {supported}                                         OPTIONAL,
    -- R1 23-3-2c    Second TPC field for multi-TRP PUCCH repetition
    mTRP-PUCCH-SecondTPC-r17                    ENUMERATED {supported}                                         OPTIONAL,
    -- R1 23-5-2    MTRP BFR based on two BFD-RS set
    mTRP-BFR-twoBFD-RS-Set-r17                  SEQUENCE {
        maxBFD-RS-resourcesPerSetPerBWP-r17         ENUMERATED {n1, n2},
        maxBFR-r17                                  INTEGER (1..9),
        maxBFD-RS-resourcesAcrossSetsPerBWP-r17     ENUMERATED {n2, n3, n4}
    }                                                                                                          OPTIONAL,
    -- R1 23-5-2a    PUCCH-SR resources for MTRP BFRQ - Max number of PUCCH-SR resources for MTRP BFRQ per cell group
    mTRP-BFR-PUCCH-SR-perCG-r17                 ENUMERATED{n1, n2}                                             OPTIONAL,
    -- R1 23-5-2b    Association between a BFD-RS resource set on SpCell and a PUCCH SR resource
    mTRP-BFR-association-PUCCH-SR-r17           ENUMERATED {supported}                                         OPTIONAL,
    -- R1 23-6-3    Simultaneous activation of two TCI states for PDCCH across multiple CCs (HST/URLLC)
    sfn-SimulTwoTCI-AcrossMultiCC-r17           ENUMERATED {supported}                                         OPTIONAL,
    -- R1 23-6-4    Default DL beam setup for SFN
    sfn-DefaultDL-BeamSetup-r17                 ENUMERATED {supported}                                         OPTIONAL,
    -- R1 23-6-4a    Default UL beam setup for SFN PDCCH(FR2 only)
    sfn-DefaultUL-BeamSetup-r17                 ENUMERATED {supported}                                         OPTIONAL,
    -- R1 23-8-1    SRS triggering offset enhancement
    srs-TriggeringOffset-r17                    ENUMERATED {n1, n2, n4}                                        OPTIONAL,
    -- R1 23-8-2    Triggering SRS only in DCI 0_1/0_2
    srs-TriggeringDCI-r17                       ENUMERATED {supported}                                         OPTIONAL,
    -- R1 23-9-5    Active CSI-RS resources and ports for mixed codebook types in any slot per band information
    codebookComboParameterMixedType-r17         CodebookComboParameterMixedType-r17                            OPTIONAL,
    -- R1 23-1-1    Unified TCI [with joint DL/UL TCI update] for intra-cell beam management
    unifiedJointTCI-r17                         SEQUENCE{
        maxConfiguredJointTCI-r17                   ENUMERATED {n8, n12, n16, n24, n32, n48, n64, n128},
        maxActivatedTCIAcrossCC-r17                 ENUMERATED {n1, n2, n4, n8, n16}
    }                                                                                                          OPTIONAL,
    -- R1  23-1-1b    Unified TCI with joint DL/UL TCI update for intra- and inter-cell beam management with more than one MAC-CE
    unifiedJointTCI-multiMAC-CE-r17             SEQUENCE{
        minBeamApplicationTime-r17                  ENUMERATED {n1, n2, n4, n7, n14, n28, n42, n56, n70, n84, n98, n112, n224, n336}
                                                                                                               OPTIONAL,
        maxNumMAC-CE-PerCC                          ENUMERATED {n2, n3, n4, n5, n6, n7, n8}
    } OPTIONAL,
    -- R1 23-1-1d    Per BWP TCI state pool configuration for CA mode
    unifiedJointTCI-perBWP-CA-r17               ENUMERATED {supported}                                         OPTIONAL,
    -- R1 23-1-1e    TCI state pool configuration with TCI pool sharing for CA mode
    unifiedJointTCI-ListSharingCA-r17           ENUMERATED {n1,n2,n4,n8}                                       OPTIONAL,
    -- R1 23-1-1f    Common multi-CC TCI state ID update and activation
    unifiedJointTCI-commonMultiCC-r17           ENUMERATED {supported}                                         OPTIONAL,
    -- R1 23-1-1g    Beam misalignment between the DL source RS in the TCI state
    unifiedJointTCI-BeamAlignDLRS-r17           ENUMERATED {supported}                                         OPTIONAL,
    -- R1 23-1-1h    Association between TCI state and UL PC settings for PUCCH, PUSCH, and SRS
    unifiedJointTCI-PC-association-r17          ENUMERATED {supported}                                         OPTIONAL,
    -- R1 23-1-1i    Indication/configuration of R17 TCI states for aperiodic CSI-RS, PDCCH, PDSCH
    unifiedJointTCI-Legacy-r17                  ENUMERATED {supported}                                         OPTIONAL,
    -- 23-1-1m    Indication/configuration of R17 TCI states for SRS
    unifiedJointTCI-Legacy-SRS-r17              ENUMERATED {supported}                                         OPTIONAL,
    -- R1 23-1-1j    Indication/configuration of R17 TCI states for CORESET #0
    unifiedJointTCI-Legacy-CORESET0-r17         ENUMERATED {supported}                                         OPTIONAL,
    -- R1 23-1-1c    SCell BFR with unified TCI framework  (NOTE; pre-requisite is empty)
    unifiedJointTCI-SCellBFR-r17                ENUMERATED {supported}                                         OPTIONAL,
    -- R1 23-1-1a    Unified TCI with joint DL/UL TCI update for inter-cell beam management
    unifiedJointTCI-InterCell-r17               SEQUENCE{
        additionalMAC-CE-PerCC-r17                  ENUMERATED {n0, n1, n2, n4},
        additionalMAC-CE-AcrossCC-r17               ENUMERATED {n0, n1, n2, n4}
    }                                                                                                          OPTIONAL,
    -- R1  23-10-1    Unified TCI with separate DL/UL TCI update for intra-cell beam management
    unifiedSeparateTCI-r17                      SEQUENCE{
        maxConfiguredDL-TCI-r17                     ENUMERATED {n4, n8, n12, n16, n24, n32, n48, n64, n128},
        maxConfiguredUL-TCI-r17                     ENUMERATED {n4, n8, n12, n16, n24, n32, n48, n64},
        maxActivatedDL-TCIAcrossCC-r17              ENUMERATED {n1, n2, n4, n8, n16},
        maxActivatedUL-TCIAcrossCC-r17              ENUMERATED {n1, n2, n4, n8, n16}
    } OPTIONAL,
    -- R1  23-10-1b    Unified TCI with separate DL/UL TCI update for intra-cell beam management with more than one MAC-CE
    unifiedSeparateTCI-multiMAC-CE-r17          SEQUENCE{
        minBeamApplicationTime-r17                  ENUMERATED {n1, n2, n4, n7, n14, n28, n42, n56, n70, n84, n98, n112, n224, n336},
        maxActivatedDL-TCIPerCC-r17                 INTEGER (2..8),
        maxActivatedUL-TCIPerCC-r17                 INTEGER (2..8)
    }                                                                                                          OPTIONAL,
    -- R1 23-10-1d    Per BWP DL/UL-TCI state pool configuration for CA mode
    unifiedSeparateTCI-perBWP-CA-r17            ENUMERATED {supported}                                         OPTIONAL,
    -- R1 23-10-1e    TCI state pool configuration with DL/UL-TCI pool sharing for CA mode
    unifiedSeparateTCI-ListSharingCA-r17        SEQUENCE {
        maxNumListDL-TCI-r17                        ENUMERATED {n1,n2,n4,n8}                                   OPTIONAL,
        maxNumListUL-TCI-r17                        ENUMERATED {n1,n2,n4,n8}                                   OPTIONAL
    } OPTIONAL,
    -- R1 23-10-1f    Common multi-CC DL/UL-TCI state ID update and activation with separate DL/UL TCI update
    unifiedSeparateTCI-commonMultiCC-r17    ENUMERATED {supported}                                             OPTIONAL,
    -- 23-10-1m    Unified TCI with separate DL/UL TCI update for inter-cell beam management with more than one MAC-CE
    unifiedSeparateTCI-InterCell-r17            SEQUENCE {
        k-DL-PerCC-r17                              ENUMERATED {n0, n1, n2, n4},
        k-UL-PerCC-r17                              ENUMERATED {n0, n1, n2, n4},
        k-DL-AcrossCC-r17                           ENUMERATED {n0, n1, n2, n4},
        k-UL-AcrossCC-r17                           ENUMERATED {n0, n1, n2, n4}
    }                                                                                                          OPTIONAL,
    -- R1  23-1-2    Inter-cell beam measurement and reporting (for inter-cell BM and mTRP)
    unifiedJointTCI-mTRP-InterCell-BM-r17       SEQUENCE {
        maxNumAdditionalPCI-L1-RSRP-r17             INTEGER (1..7),
        maxNumSSB-ResourceL1-RSRP-AcrossCC-r17      ENUMERATED {n1,n2,n4,n8}
    }                                                                                                          OPTIONAL,
    -- R1  23-1-3    MPE mitigation
    mpe-Mitigation-r17                          SEQUENCE {
        maxNumP-MPR-RI-pairs-r17                    INTEGER (1..4),
        maxNumConfRS-r17                            ENUMERATED {n1, n2, n4, n8, n12, n16, n28, n32, n48, n64}
    }                                                                                                          OPTIONAL,
    -- R1  23-1-4    UE capability value reporting
    srs-PortReport-r17                          SEQUENCE {
            capVal1-r17                             ENUMERATED {n1, n2, n4}                                    OPTIONAL,
            capVal2-r17                             ENUMERATED {n1, n2, n4}                                    OPTIONAL,
            capVal3-r17                             ENUMERATED {n1, n2, n4}                                    OPTIONAL,
            capVal4-r17                             ENUMERATED {n1, n2, n4}                                    OPTIONAL
    }                                                                                                          OPTIONAL,
  -- R1 23-2-1a    Monitoring of individual candidates
    mTRP-PDCCH-individual-r17                   ENUMERATED {supported}                                         OPTIONAL,
  -- R1 23-2-1b    PDCCH repetition with PDCCH monitoring on any span of up to 3 consecutive OFDM symbols of a slot
    mTRP-PDCCH-anySpan-3Symbols-r17             ENUMERATED {supported}                                         OPTIONAL,
    -- R1 23-2-2    Two QCL TypeD for CORESET monitoring in PDCCH repetition
    mTRP-PDCCH-TwoQCL-TypeD-r17                 ENUMERATED {supported}                                         OPTIONAL,
    -- R1 23-3-1-2b    CSI-RS processing framework for SRS with two associated CSI-RS resources
    mTRP-PUSCH-CSI-RS-r17                       SEQUENCE {
        maxNumPeriodicSRS-r17                       INTEGER (1..8),
        maxNumAperiodicSRS-r17                      INTEGER (1..8),
        maxNumSP-SRS-r17                            INTEGER (0..8),
        numSRS-ResourcePerCC-r17                    INTEGER (1..16),
        numSRS-ResourceNonCodebook-r17              INTEGER (1..2)
    }                                                                                                          OPTIONAL,
    -- R1 23-3-1a    Cyclic mapping for Multi-TRP PUSCH repetition
    mTRP-PUSCH-cyclicMapping-r17                ENUMERATED {typeA,typeB,both}                                  OPTIONAL,
    -- R1 23-3-1b    Second TPC field for Multi-TRP PUSCH repetition
    mTRP-PUSCH-secondTPC-r17                    ENUMERATED {supported}                                         OPTIONAL,
    -- R1 23-3-1c     Two PHR reporting
    mTRP-PUSCH-twoPHR-Reporting-r17             ENUMERATED {supported}                                         OPTIONAL,
    -- R1 23-3-1e    A-CSI report
    mTRP-PUSCH-A-CSI-r17                        ENUMERATED {supported}                                         OPTIONAL,
    -- R1 23-3-1f    SP-CSI report
    mTRP-PUSCH-SP-CSI-r17                       ENUMERATED {supported}                                         OPTIONAL,
    -- R1 23-3-1g    CG PUSCH transmission
    mTRP-PUSCH-CG-r17                           ENUMERATED {supported}                                         OPTIONAL,
    -- R1 23-3-2d    Updating two Spatial relation or two sets of power control parameters for PUCCH group
    mTRP-PUCCH-MAC-CE-r17                       ENUMERATED {supported}                                         OPTIONAL,
    -- R1 23-3-2e    Maximum number of power control parameter sets configured for multi-TRP PUCCH repetition in FR1
    mTRP-PUCCH-maxNum-PC-FR1-r17                INTEGER (3..8)                                                 OPTIONAL,
    -- R1 23-4    IntCell-mTRP
    mTRP-inter-Cell-r17                         SEQUENCE {
        maxNumAdditionalPCI-Case1-r17               INTEGER (1..7),
        maxNumAdditionalPCI-Case2-r17               INTEGER (0..7)
    }                                                                                                          OPTIONAL,
    -- R1 23-5-1    Group based L1-RSRP reporting enhancements
    mTRP-GroupBasedL1-RSRP-r17                  SEQUENCE {
        maxNumBeamGroups-r17                        INTEGER (1..4),
        maxNumRS-WithinSlot-r17                     ENUMERATED {n2,n3,n4,n8,n16,n32,n64},
        maxNumRS-AcrossSlot-r17                     ENUMERATED {n8, n16, n32, n64, n128}
    }                                                                                                          OPTIONAL,
    -- R1 23-5-2c    MAC-CE based update of explicit BFD-RS    mTRP-PUCCH-IntraSlot-r17  => per band
    mTRP-BFD-RS-MAC-CE-r17                      ENUMERATED {n4, n8, n12, n16, n32, n48, n64 }                  OPTIONAL,
   -- R1 23-7-1    Basic Features of CSI Enhancement for Multi-TRP
    mTRP-CSI-EnhancementPerBand-r17             SEQUENCE {
        maxNumNZP-CSI-RS-r17                        INTEGER (2..8),
        cSI-Report-mode-r17                         ENUMERATED {mode1, mode2, both},
        supportedComboAcrossCCs-r17                 SEQUENCE (SIZE (1..16)) OF CSI-MultiTRP-SupportedCombinations-r17,
        codebookModeNCJT-r17                        ENUMERATED{mode1,mode1And2}
    }                                                                                                          OPTIONAL,
    -- R1 23-7-1b    Active CSI-RS resources and ports in the presence of multi-TRP CSI
    codebookComboParameterMultiTRP-r17          CodebookComboParameterMultiTRP-r17                             OPTIONAL,
    -- R1 23-7-1a    Additional CSI report mode 1
    mTRP-CSI-additionalCSI-r17                  ENUMERATED{x1,x2}                                              OPTIONAL,
    -- R1 23-7-4    Support of Nmax=2 for Multi-TRP CSI
    mTRP-CSI-N-Max2-r17                         ENUMERATED {supported}                                         OPTIONAL,
    -- R1 23-7-5    CMR sharing
    mTRP-CSI-CMR-r17                            ENUMERATED {supported}                                         OPTIONAL,
    -- R1 23-8-11    Partial frequency sounding of SRS for non-frequency hopping case
    srs-partialFreqSounding-r17                 ENUMERATED {supported}                                         OPTIONAL,
    -- R1-24 feature: Extend beamSwitchTiming for FR2-2
    beamSwitchTiming-v1710                      SEQUENCE {
        scs-480kHz                                  ENUMERATED {sym56, sym112, sym192, sym896, sym1344}        OPTIONAL,
        scs-960kHz                                  ENUMERATED {sym112, sym224, sym384, sym1792, sym2688}      OPTIONAL
    }                                                                                                          OPTIONAL,
    -- R1-24 feature: Extend beamSwitchTiming-r16 for FR2-2
    beamSwitchTiming-r17                        SEQUENCE {
        scs-480kHz-r17                              ENUMERATED {sym896, sym1344}                               OPTIONAL,
        scs-960kHz-r17                              ENUMERATED {sym1792, sym2688}                              OPTIONAL
    }                                                                                                          OPTIONAL,
    -- R1-24 feature: Extend beamReportTiming for FR2-2
    beamReportTiming-v1710                      SEQUENCE {
        scs-480kHz-r17                              ENUMERATED {sym56, sym112, sym224}                         OPTIONAL,
        scs-960kHz-r17                              ENUMERATED {sym112, sym224, sym448}                        OPTIONAL
    }                                                                                                          OPTIONAL,
    -- R1-24 feature:    Extend maximum number of RX/TX beam switch DL for FR2-2
    maxNumberRxTxBeamSwitchDL-v1710             SEQUENCE {
        scs-480kHz-r17                              ENUMERATED {n2, n4, n7}                                    OPTIONAL,
        scs-960kHz-r17                              ENUMERATED {n1, n2, n4, n7}                                OPTIONAL
    }                                                                                                          OPTIONAL
    ]],
    [[
    -- R1-23-1-4a:	Semi-persistent/aperiodic capability value report
    srs-PortReportSP-AP-r17                     ENUMERATED {supported}                                         OPTIONAL,
    maxNumberRxBeam-v1720                       INTEGER (9..12)                                                OPTIONAL,
    -- R1-23-6-5	Support implicit configuration of RS(s) with two TCI states for beam failure detection
    sfn-ImplicitRS-twoTCI-r17                   ENUMERATED {supported}                                         OPTIONAL,
    -- R1-23-6-6	QCL-TypeD collision handling with CORESET with 2 TCI states
    sfn-QCL-TypeD-Collision-twoTCI-r17          ENUMERATED {supported}                                         OPTIONAL,
    -- R1-23-7-1c	Basic Features of CSI Enhancement for Multi-TRP - number of CPUs
    mTRP-CSI-numCPU-r17                         ENUMERATED {n2, n3, n4}                                        OPTIONAL
    ]],
    [[
    supportRepNumPDSCH-TDRA-DCI-1-2-r17         ENUMERATED {n2, n3, n4, n5, n6, n7, n8, n16}                   OPTIONAL
    ]]
}

DummyG ::=                          SEQUENCE {
    maxNumberSSB-CSI-RS-ResourceOneTx   ENUMERATED {n8, n16, n32, n64},
    maxNumberSSB-CSI-RS-ResourceTwoTx   ENUMERATED {n0, n4, n8, n16, n32, n64},
    supportedCSI-RS-Density             ENUMERATED {one, three, oneAndThree}
}

BeamManagementSSB-CSI-RS ::=        SEQUENCE {
    maxNumberSSB-CSI-RS-ResourceOneTx   ENUMERATED {n0, n8, n16, n32, n64},
    maxNumberCSI-RS-Resource            ENUMERATED {n0, n4, n8, n16, n32, n64},
    maxNumberCSI-RS-ResourceTwoTx       ENUMERATED {n0, n4, n8, n16, n32, n64},
    supportedCSI-RS-Density             ENUMERATED {one, three, oneAndThree}                                       OPTIONAL,
    maxNumberAperiodicCSI-RS-Resource   ENUMERATED {n0, n1, n4, n8, n16, n32, n64}
}

DummyH ::=                          SEQUENCE {
    burstLength                         INTEGER (1..2),
    maxSimultaneousResourceSetsPerCC    INTEGER (1..8),
    maxConfiguredResourceSetsPerCC      INTEGER (1..64),
    maxConfiguredResourceSetsAllCC      INTEGER (1..128)
}

CSI-RS-ForTracking ::=              SEQUENCE {
    maxBurstLength                      INTEGER (1..2),
    maxSimultaneousResourceSetsPerCC    INTEGER (1..8),
    maxConfiguredResourceSetsPerCC      INTEGER (1..64),
    maxConfiguredResourceSetsAllCC      INTEGER (1..256)
}

CSI-RS-IM-ReceptionForFeedback ::=              SEQUENCE {
    maxConfigNumberNZP-CSI-RS-PerCC                 INTEGER (1..64),
    maxConfigNumberPortsAcrossNZP-CSI-RS-PerCC      INTEGER (2..256),
    maxConfigNumberCSI-IM-PerCC                     ENUMERATED {n1, n2, n4, n8, n16, n32},
    maxNumberSimultaneousNZP-CSI-RS-PerCC           INTEGER (1..64),
    totalNumberPortsSimultaneousNZP-CSI-RS-PerCC    INTEGER (2..256)
}

CSI-RS-ProcFrameworkForSRS ::=                  SEQUENCE {
    maxNumberPeriodicSRS-AssocCSI-RS-PerBWP         INTEGER (1..4),
    maxNumberAperiodicSRS-AssocCSI-RS-PerBWP        INTEGER (1..4),
    maxNumberSP-SRS-AssocCSI-RS-PerBWP              INTEGER (0..4),
    simultaneousSRS-AssocCSI-RS-PerCC               INTEGER (1..8)
}

CSI-ReportFramework ::=                         SEQUENCE {
    maxNumberPeriodicCSI-PerBWP-ForCSI-Report       INTEGER (1..4),
    maxNumberAperiodicCSI-PerBWP-ForCSI-Report      INTEGER (1..4),
    maxNumberSemiPersistentCSI-PerBWP-ForCSI-Report INTEGER (0..4),
    maxNumberPeriodicCSI-PerBWP-ForBeamReport       INTEGER (1..4),
    maxNumberAperiodicCSI-PerBWP-ForBeamReport      INTEGER (1..4),
    maxNumberAperiodicCSI-triggeringStatePerCC      ENUMERATED {n3, n7, n15, n31, n63, n128},
    maxNumberSemiPersistentCSI-PerBWP-ForBeamReport INTEGER (0..4),
    simultaneousCSI-ReportsPerCC                    INTEGER (1..8)
}

CSI-ReportFrameworkExt-r16 ::=                      SEQUENCE {
    maxNumberAperiodicCSI-PerBWP-ForCSI-ReportExt-r16   INTEGER (5..8)
}

PTRS-DensityRecommendationDL ::=    SEQUENCE {
    frequencyDensity1                   INTEGER (1..276),
    frequencyDensity2                   INTEGER (1..276),
    timeDensity1                        INTEGER (0..29),
    timeDensity2                        INTEGER (0..29),
    timeDensity3                        INTEGER (0..29)
}

PTRS-DensityRecommendationUL ::=    SEQUENCE {
    frequencyDensity1                   INTEGER (1..276),
    frequencyDensity2                   INTEGER (1..276),
    timeDensity1                        INTEGER (0..29),
    timeDensity2                        INTEGER (0..29),
    timeDensity3                        INTEGER (0..29),
    sampleDensity1                      INTEGER (1..276),
    sampleDensity2                      INTEGER (1..276),
    sampleDensity3                      INTEGER (1..276),
    sampleDensity4                      INTEGER (1..276),
    sampleDensity5                      INTEGER (1..276)
}

SpatialRelations ::=                    SEQUENCE {
    maxNumberConfiguredSpatialRelations     ENUMERATED {n4, n8, n16, n32, n64, n96},
    maxNumberActiveSpatialRelations         ENUMERATED {n1, n2, n4, n8, n14},
    additionalActiveSpatialRelationPUCCH    ENUMERATED {supported}                              OPTIONAL,
    maxNumberDL-RS-QCL-TypeD                ENUMERATED {n1, n2, n4, n8, n14}
}

DummyI ::=               SEQUENCE {
    supportedSRS-TxPortSwitch           ENUMERATED {t1r2, t1r4, t2r4, t1r4-t2r4, tr-equal},
    txSwitchImpactToRx                  ENUMERATED {true}                                       OPTIONAL
}

CSI-MultiTRP-SupportedCombinations-r17 ::= SEQUENCE {
    maxNumTx-Ports-r17                         ENUMERATED {n2, n4, n8, n12, n16, n24, n32},
    maxTotalNumCMR-r17                         INTEGER (2..64),
    maxTotalNumTx-PortsNZP-CSI-RS-r17          INTEGER (2..256)
}

-- TAG-MIMO-PARAMETERSPERBAND-STOP
-- ASN1STOP

-- ASN1START

-- TAG-MODULATIONORDER-START

ModulationOrder ::= ENUMERATED {bpsk-halfpi, bpsk, qpsk, qam16, qam64, qam256}

-- TAG-MODULATIONORDER-STOP
-- ASN1STOP

-- ASN1START

-- TAG-MRDC-PARAMETERS-START

MRDC-Parameters ::= SEQUENCE {
    singleUL-Transmission               ENUMERATED {supported}              OPTIONAL,
    dynamicPowerSharingENDC             ENUMERATED {supported}              OPTIONAL,
    tdm-Pattern                         ENUMERATED {supported}              OPTIONAL,
    ul-SharingEUTRA-NR                  ENUMERATED {tdm, fdm, both}         OPTIONAL,
    ul-SwitchingTimeEUTRA-NR            ENUMERATED {type1, type2}           OPTIONAL,
    simultaneousRxTxInterBandENDC       ENUMERATED {supported}              OPTIONAL,
    asyncIntraBandENDC                  ENUMERATED {supported}              OPTIONAL,
    ...,
    [[
    dualPA-Architecture                 ENUMERATED {supported}              OPTIONAL,
    intraBandENDC-Support               ENUMERATED {non-contiguous, both}   OPTIONAL,
    ul-TimingAlignmentEUTRA-NR          ENUMERATED {required}               OPTIONAL
    ]]
}

MRDC-Parameters-v1580 ::= SEQUENCE {
	dynamicPowerSharingNEDC             ENUMERATED {supported}              OPTIONAL
}

MRDC-Parameters-v1590 ::=	SEQUENCE {
	interBandContiguousMRDC             ENUMERATED {supported}              OPTIONAL
}

MRDC-Parameters-v15g0 ::=   SEQUENCE {
    simultaneousRxTxInterBandENDCPerBandPair   SimultaneousRxTxPerBandPair  OPTIONAL
}

MRDC-Parameters-v1620 ::=    SEQUENCE {
    maxUplinkDutyCycle-interBandENDC-TDD-PC2-r16    SEQUENCE{
        eutra-TDD-Config0-r16    ENUMERATED {n20, n40, n50, n60, n70, n80, n90, n100}    OPTIONAL,
        eutra-TDD-Config1-r16    ENUMERATED {n20, n40, n50, n60, n70, n80, n90, n100}    OPTIONAL,
        eutra-TDD-Config2-r16    ENUMERATED {n20, n40, n50, n60, n70, n80, n90, n100}    OPTIONAL,
        eutra-TDD-Config3-r16    ENUMERATED {n20, n40, n50, n60, n70, n80, n90, n100}    OPTIONAL,
        eutra-TDD-Config4-r16    ENUMERATED {n20, n40, n50, n60, n70, n80, n90, n100}    OPTIONAL,
        eutra-TDD-Config5-r16    ENUMERATED {n20, n40, n50, n60, n70, n80, n90, n100}    OPTIONAL,
        eutra-TDD-Config6-r16    ENUMERATED {n20, n40, n50, n60, n70, n80, n90, n100}    OPTIONAL
    }                                                                                    OPTIONAL,
    -- R1 18-2 Single UL TX operation for TDD PCell in EN-DC
    tdm-restrictionTDD-endc-r16          ENUMERATED {supported}                          OPTIONAL,
    -- R1 18-2a Single UL TX operation for FDD PCell in EN-DC
    tdm-restrictionFDD-endc-r16          ENUMERATED {supported}                          OPTIONAL,
    --  R1 18-2b Support of HARQ-offset for SUO case1 in EN-DC with LTE TDD PCell for type 1 UE
    singleUL-HARQ-offsetTDD-PCell-r16    ENUMERATED {supported}                          OPTIONAL,
    --  R1 18-3 Dual Tx transmission for EN-DC with FDD PCell(TDM pattern for dual Tx UE)
    tdm-restrictionDualTX-FDD-endc-r16   ENUMERATED {supported}                          OPTIONAL
}

MRDC-Parameters-v1630 ::= SEQUENCE {
    -- R4 2-20 Maximum uplink duty cycle for FDD+TDD EN-DC power class 2
    maxUplinkDutyCycle-interBandENDC-FDD-TDD-PC2-r16  SEQUENCE {
        maxUplinkDutyCycle-FDD-TDD-EN-DC1-r16             ENUMERATED {n30, n40, n50, n60, n70, n80, n90, n100}    OPTIONAL,
        maxUplinkDutyCycle-FDD-TDD-EN-DC2-r16             ENUMERATED {n30, n40, n50, n60, n70, n80, n90, n100}    OPTIONAL
    }                                                                                                             OPTIONAL,

    -- R4 2-19 FDD-FDD or TDD-TDD inter-band MR-DC with overlapping or partially overlapping DL spectrum
    interBandMRDC-WithOverlapDL-Bands-r16       ENUMERATED {supported}                   OPTIONAL
}

MRDC-Parameters-v1700 ::=	SEQUENCE {
    condPSCellAdditionENDC-r17                  ENUMERATED {supported}                   OPTIONAL,
    scg-ActivationDeactivationENDC-r17          ENUMERATED {supported}                   OPTIONAL,
    scg-ActivationDeactivationResumeENDC-r17    ENUMERATED {supported}                   OPTIONAL
}

-- TAG-MRDC-PARAMETERS-STOP
-- ASN1STOP

-- ASN1START

-- TAG-NRDC-PARAMETERS-START

NRDC-Parameters ::=                 SEQUENCE {
    measAndMobParametersNRDC            MeasAndMobParametersMRDC                    OPTIONAL,
    generalParametersNRDC               GeneralParametersMRDC-XDD-Diff              OPTIONAL,
    fdd-Add-UE-NRDC-Capabilities        UE-MRDC-CapabilityAddXDD-Mode               OPTIONAL,
    tdd-Add-UE-NRDC-Capabilities        UE-MRDC-CapabilityAddXDD-Mode               OPTIONAL,
    fr1-Add-UE-NRDC-Capabilities        UE-MRDC-CapabilityAddFRX-Mode               OPTIONAL,
    fr2-Add-UE-NRDC-Capabilities        UE-MRDC-CapabilityAddFRX-Mode               OPTIONAL,
    dummy2                              OCTET STRING                                OPTIONAL,
    dummy                               SEQUENCE {}                                 OPTIONAL
}

NRDC-Parameters-v1570 ::=           SEQUENCE {
    sfn-SyncNRDC                        ENUMERATED {supported}                      OPTIONAL
}

NRDC-Parameters-v15c0 ::=           SEQUENCE {
    pdcp-DuplicationSplitSRB            ENUMERATED {supported}                      OPTIONAL,
    pdcp-DuplicationSplitDRB            ENUMERATED {supported}                      OPTIONAL
}

NRDC-Parameters-v1610 ::=           SEQUENCE {
    measAndMobParametersNRDC-v1610      MeasAndMobParametersMRDC-v1610              OPTIONAL
}

NRDC-Parameters-v1700 ::=         SEQUENCE {
    f1c-OverNR-RRC-r17                  ENUMERATED {supported}                      OPTIONAL,
    measAndMobParametersNRDC-v1700      MeasAndMobParametersMRDC-v1700
}

-- TAG-NRDC-PARAMETERS-STOP
-- ASN1STOP

-- ASN1START

-- TAG-NTN-PARAMETERS-START

NTN-Parameters-r17 ::= SEQUENCE {
    inactiveStateNTN-r17                ENUMERATED {supported}                                OPTIONAL,
    ra-SDT-NTN-r17                      ENUMERATED {supported}                                OPTIONAL,
    srb-SDT-NTN-r17                     ENUMERATED {supported}                                OPTIONAL,
    measAndMobParametersNTN-r17         MeasAndMobParameters                                  OPTIONAL,
    mac-ParametersNTN-r17               MAC-Parameters                                        OPTIONAL,
    phy-ParametersNTN-r17               Phy-Parameters                                        OPTIONAL,
    fdd-Add-UE-NR-CapabilitiesNTN-r17   UE-NR-CapabilityAddXDD-Mode                           OPTIONAL,
    fr1-Add-UE-NR-CapabilitiesNTN-r17   UE-NR-CapabilityAddFRX-Mode                           OPTIONAL,
    ue-BasedPerfMeas-ParametersNTN-r17  UE-BasedPerfMeas-Parameters-r16                       OPTIONAL,
    son-ParametersNTN-r17               SON-Parameters-r16                                    OPTIONAL
}

-- TAG-NTN-PARAMETERS-STOP
-- ASN1STOP

-- ASN1START

-- TAG-OLPC-SRS-POS-START

OLPC-SRS-Pos-r16 ::=        SEQUENCE {
    olpc-SRS-PosBasedOnPRS-Serving-r16         ENUMERATED {supported}               OPTIONAL,
    olpc-SRS-PosBasedOnSSB-Neigh-r16           ENUMERATED {supported}               OPTIONAL,
    olpc-SRS-PosBasedOnPRS-Neigh-r16           ENUMERATED {supported}               OPTIONAL,
    maxNumberPathLossEstimatePerServing-r16    ENUMERATED {n1, n4, n8, n16}         OPTIONAL
}

--TAG-OLPC-SRS-POS-STOP
-- ASN1STOP

-- ASN1START

-- TAG-PDCP-PARAMETERS-START

PDCP-Parameters ::=         SEQUENCE {
    supportedROHC-Profiles      SEQUENCE {
        profile0x0000               BOOLEAN,
        profile0x0001               BOOLEAN,
        profile0x0002               BOOLEAN,
        profile0x0003               BOOLEAN,
        profile0x0004               BOOLEAN,
        profile0x0006               BOOLEAN,
        profile0x0101               BOOLEAN,
        profile0x0102               BOOLEAN,
        profile0x0103               BOOLEAN,
        profile0x0104               BOOLEAN
    },
    maxNumberROHC-ContextSessions       ENUMERATED {cs2, cs4, cs8, cs12, cs16, cs24, cs32, cs48, cs64,
                                                cs128, cs256, cs512, cs1024, cs16384, spare2, spare1},
    uplinkOnlyROHC-Profiles             ENUMERATED {supported}      OPTIONAL,
    continueROHC-Context                ENUMERATED {supported}      OPTIONAL,
    outOfOrderDelivery                  ENUMERATED {supported}      OPTIONAL,
    shortSN                             ENUMERATED {supported}      OPTIONAL,
    pdcp-DuplicationSRB                 ENUMERATED {supported}      OPTIONAL,
    pdcp-DuplicationMCG-OrSCG-DRB       ENUMERATED {supported}      OPTIONAL,
    ...,
    [[
    drb-IAB-r16                         ENUMERATED {supported}      OPTIONAL,
    non-DRB-IAB-r16                     ENUMERATED {supported}      OPTIONAL,
    extendedDiscardTimer-r16            ENUMERATED {supported}      OPTIONAL,
    continueEHC-Context-r16             ENUMERATED {supported}      OPTIONAL,
    ehc-r16                             ENUMERATED {supported}      OPTIONAL,
    maxNumberEHC-Contexts-r16           ENUMERATED {cs2, cs4, cs8, cs16, cs32, cs64, cs128, cs256, cs512,
                                                    cs1024, cs2048, cs4096, cs8192, cs16384, cs32768, cs65536}    OPTIONAL,
    jointEHC-ROHC-Config-r16            ENUMERATED {supported}      OPTIONAL,
    pdcp-DuplicationMoreThanTwoRLC-r16  ENUMERATED {supported}      OPTIONAL
    ]],
    [[
    longSN-RedCap-r17                   ENUMERATED {supported}      OPTIONAL,
    udc-r17                             SEQUENCE {
        standardDictionary-r17              ENUMERATED {supported}  OPTIONAL,
        operatorDictionary-r17              SEQUENCE {
            versionOfDictionary-r17             INTEGER (0..15),
            associatedPLMN-ID-r17               PLMN-Identity
        }                                                           OPTIONAL,
        continueUDC-r17                     ENUMERATED {supported}  OPTIONAL,
        supportOfBufferSize-r17             ENUMERATED {kbyte4, kbyte8}  OPTIONAL
    }                                                               OPTIONAL
    ]]
}

-- TAG-PDCP-PARAMETERS-STOP
-- ASN1STOP

-- ASN1START

-- TAG-PDCP-PARAMETERSMRDC-START

PDCP-ParametersMRDC ::=                 SEQUENCE {
    pdcp-DuplicationSplitSRB                ENUMERATED {supported}      OPTIONAL,
    pdcp-DuplicationSplitDRB                ENUMERATED {supported}      OPTIONAL
}

PDCP-ParametersMRDC-v1610 ::= SEQUENCE {
    scg-DRB-NR-IAB-r16                  ENUMERATED {supported}          OPTIONAL
}

-- TAG-PDCP-PARAMETERSMRDC-STOP
-- ASN1STOP

-- ASN1START

-- TAG-PHY-PARAMETERS-START

Phy-Parameters ::=                  SEQUENCE {
    phy-ParametersCommon                Phy-ParametersCommon                        OPTIONAL,
    phy-ParametersXDD-Diff              Phy-ParametersXDD-Diff                      OPTIONAL,
    phy-ParametersFRX-Diff              Phy-ParametersFRX-Diff                      OPTIONAL,
    phy-ParametersFR1                   Phy-ParametersFR1                           OPTIONAL,
    phy-ParametersFR2                   Phy-ParametersFR2                           OPTIONAL
}

Phy-Parameters-v16a0 ::=            SEQUENCE {
    phy-ParametersCommon-v16a0          Phy-ParametersCommon-v16a0                  OPTIONAL
}

Phy-ParametersCommon ::=            SEQUENCE {
    csi-RS-CFRA-ForHO                   ENUMERATED {supported}                      OPTIONAL,
    dynamicPRB-BundlingDL               ENUMERATED {supported}                      OPTIONAL,
    sp-CSI-ReportPUCCH                  ENUMERATED {supported}                      OPTIONAL,
    sp-CSI-ReportPUSCH                  ENUMERATED {supported}                      OPTIONAL,
    nzp-CSI-RS-IntefMgmt                ENUMERATED {supported}                      OPTIONAL,
    type2-SP-CSI-Feedback-LongPUCCH     ENUMERATED {supported}                      OPTIONAL,
    precoderGranularityCORESET          ENUMERATED {supported}                      OPTIONAL,
    dynamicHARQ-ACK-Codebook            ENUMERATED {supported}                      OPTIONAL,
    semiStaticHARQ-ACK-Codebook         ENUMERATED {supported}                      OPTIONAL,
    spatialBundlingHARQ-ACK             ENUMERATED {supported}                      OPTIONAL,
    dynamicBetaOffsetInd-HARQ-ACK-CSI   ENUMERATED {supported}                      OPTIONAL,
    pucch-Repetition-F1-3-4             ENUMERATED {supported}                      OPTIONAL,
    ra-Type0-PUSCH                      ENUMERATED {supported}                      OPTIONAL,
    dynamicSwitchRA-Type0-1-PDSCH       ENUMERATED {supported}                      OPTIONAL,
    dynamicSwitchRA-Type0-1-PUSCH       ENUMERATED {supported}                      OPTIONAL,
    pdsch-MappingTypeA                  ENUMERATED {supported}                      OPTIONAL,
    pdsch-MappingTypeB                  ENUMERATED {supported}                      OPTIONAL,
    interleavingVRB-ToPRB-PDSCH         ENUMERATED {supported}                      OPTIONAL,
    interSlotFreqHopping-PUSCH          ENUMERATED {supported}                      OPTIONAL,
    type1-PUSCH-RepetitionMultiSlots    ENUMERATED {supported}                      OPTIONAL,
    type2-PUSCH-RepetitionMultiSlots    ENUMERATED {supported}                      OPTIONAL,
    pusch-RepetitionMultiSlots          ENUMERATED {supported}                      OPTIONAL,
    pdsch-RepetitionMultiSlots          ENUMERATED {supported}                      OPTIONAL,
    downlinkSPS                         ENUMERATED {supported}                      OPTIONAL,
    configuredUL-GrantType1             ENUMERATED {supported}                      OPTIONAL,
    configuredUL-GrantType2             ENUMERATED {supported}                      OPTIONAL,
    pre-EmptIndication-DL               ENUMERATED {supported}                      OPTIONAL,
    cbg-TransIndication-DL              ENUMERATED {supported}                      OPTIONAL,
    cbg-TransIndication-UL              ENUMERATED {supported}                      OPTIONAL,
    cbg-FlushIndication-DL              ENUMERATED {supported}                      OPTIONAL,
    dynamicHARQ-ACK-CodeB-CBG-Retx-DL   ENUMERATED {supported}                      OPTIONAL,
    rateMatchingResrcSetSemi-Static     ENUMERATED {supported}                      OPTIONAL,
    rateMatchingResrcSetDynamic         ENUMERATED {supported}                      OPTIONAL,
    bwp-SwitchingDelay                  ENUMERATED {type1, type2}                   OPTIONAL,
    ...,
    [[
    dummy                               ENUMERATED {supported}                      OPTIONAL
    ]],
    [[
    maxNumberSearchSpaces               ENUMERATED {n10}                            OPTIONAL,
    rateMatchingCtrlResrcSetDynamic     ENUMERATED {supported}                      OPTIONAL,
    maxLayersMIMO-Indication            ENUMERATED {supported}                      OPTIONAL
    ]],
    [[
    spCellPlacement                             CarrierAggregationVariant           OPTIONAL
    ]],
    [[
    -- R1 9-1: Basic channel structure and procedure of 2-step RACH
    twoStepRACH-r16                             ENUMERATED {supported}              OPTIONAL,
    -- R1 11-1: Monitoring DCI format 1_2 and DCI format 0_2
    dci-Format1-2And0-2-r16                     ENUMERATED {supported}              OPTIONAL,
    -- R1 11-1a: Monitoring both DCI format 0_1/1_1 and DCI format 0_2/1_2 in the same search space
    monitoringDCI-SameSearchSpace-r16           ENUMERATED {supported}              OPTIONAL,
    -- R1 11-10: Type 2 configured grant release by DCI format 0_1
    type2-CG-ReleaseDCI-0-1-r16                 ENUMERATED {supported}              OPTIONAL,
    -- R1 11-11: Type 2 configured grant release by DCI format 0_2
    type2-CG-ReleaseDCI-0-2-r16                 ENUMERATED {supported}              OPTIONAL,
    -- R1 12-3: SPS release by DCI format 1_1
    sps-ReleaseDCI-1-1-r16                      ENUMERATED {supported}              OPTIONAL,
    -- R1 12-3a: SPS release by DCI format 1_2
    sps-ReleaseDCI-1-2-r16                      ENUMERATED {supported}              OPTIONAL,
    -- R1 14-8: CSI trigger states containing non-active BWP
    csi-TriggerStateNon-ActiveBWP-r16           ENUMERATED {supported}              OPTIONAL,
    -- R1 20-2: Support up to 4 SMTCs configured for an IAB node MT per frequency location, including IAB-specific SMTC window periodicities
    separateSMTC-InterIAB-Support-r16           ENUMERATED {supported}              OPTIONAL,
    -- R1 20-3: Support RACH configuration separately from the RACH configuration for UE access, including new IAB-specific offset and scaling factors
    separateRACH-IAB-Support-r16                ENUMERATED {supported}              OPTIONAL,
    -- R1 20-5a: Support semi-static configuration/indication of UL-Flexible-DL slot formats for IAB-MT resources
    ul-flexibleDL-SlotFormatSemiStatic-IAB-r16  ENUMERATED {supported}              OPTIONAL,
    -- R1 20-5b: Support dynamic indication of UL-Flexible-DL slot formats for IAB-MT resources
    ul-flexibleDL-SlotFormatDynamics-IAB-r16    ENUMERATED {supported}              OPTIONAL,
    dft-S-OFDM-WaveformUL-IAB-r16               ENUMERATED {supported}              OPTIONAL,
    -- R1 20-6: Support DCI Format 2_5 based indication of soft resource availability to an IAB node
    dci-25-AI-RNTI-Support-IAB-r16              ENUMERATED {supported}              OPTIONAL,
    -- R1 20-7: Support T_delta reception.
    t-DeltaReceptionSupport-IAB-r16             ENUMERATED {supported}              OPTIONAL,
    -- R1 20-8: Support of Desired guard symbol reporting and provided guard symbok reception.
    guardSymbolReportReception-IAB-r16          ENUMERATED {supported}              OPTIONAL,
    -- R1 18-8 HARQ-ACK codebook type and spatial bundling per PUCCH group
    harqACK-CB-SpatialBundlingPUCCH-Group-r16   ENUMERATED {supported}              OPTIONAL,
    -- R1 19-2: Cross Slot Scheduling
    crossSlotScheduling-r16                     SEQUENCE {
        non-SharedSpectrumChAccess-r16              ENUMERATED {supported}          OPTIONAL,
        sharedSpectrumChAccess-r16                  ENUMERATED {supported}          OPTIONAL
    }                                                                               OPTIONAL,
    maxNumberSRS-PosPathLossEstimateAllServingCells-r16  ENUMERATED {n1, n4, n8, n16}         OPTIONAL,
    extendedCG-Periodicities-r16                ENUMERATED {supported}              OPTIONAL,
    extendedSPS-Periodicities-r16               ENUMERATED {supported}              OPTIONAL,
    codebookVariantsList-r16                    CodebookVariantsList-r16            OPTIONAL,
    -- R1 11-6: PUSCH repetition Type A
    pusch-RepetitionTypeA-r16                   SEQUENCE {
        sharedSpectrumChAccess-r16                  ENUMERATED {supported}          OPTIONAL,
        non-SharedSpectrumChAccess-r16              ENUMERATED {supported}          OPTIONAL
    }                                                                               OPTIONAL,
    -- R1 11-4b: DL priority indication in DCI with mixed DCI formats
    dci-DL-PriorityIndicator-r16                ENUMERATED {supported}              OPTIONAL,
    -- R1 12-1a: UL priority indication in DCI with mixed DCI formats
    dci-UL-PriorityIndicator-r16                ENUMERATED {supported}              OPTIONAL,
    -- R1 16-1e: Maximum number of configured pathloss reference RSs for PUSCH/PUCCH/SRS by RRC for MAC-CE based pathloss reference RS update
    maxNumberPathlossRS-Update-r16              ENUMERATED {n4, n8, n16, n32, n64}  OPTIONAL,

    -- R1 18-9: Usage of the PDSCH starting time for HARQ-ACK type 2 codebook
    type2-HARQ-ACK-Codebook-r16                 ENUMERATED {supported}              OPTIONAL,
    -- R1 16-1g-1: Resources for beam management, pathloss measurement, BFD, RLM and new beam identification across frequency ranges
    maxTotalResourcesForAcrossFreqRanges-r16    SEQUENCE {
        maxNumberResWithinSlotAcrossCC-AcrossFR-r16 ENUMERATED {n2, n4, n8, n12, n16, n32, n64, n128}        OPTIONAL,
        maxNumberResAcrossCC-AcrossFR-r16           ENUMERATED {n2, n4, n8, n12, n16, n32, n40, n48, n64, n72, n80, n96, n128, n256}
                                                                                    OPTIONAL
    }                                                                               OPTIONAL,
    -- R1 16-2a-4: HARQ-ACK for multi-DCI based multi-TRP - separate
    harqACK-separateMultiDCI-MultiTRP-r16       SEQUENCE {
    maxNumberLongPUCCHs-r16                         ENUMERATED {longAndLong, longAndShort, shortAndShort}    OPTIONAL
    }                                                                               OPTIONAL,
    -- R1 16-2a-4: HARQ-ACK for multi-DCI based multi-TRP - joint
    harqACK-jointMultiDCI-MultiTRP-r16          ENUMERATED {supported}              OPTIONAL,
    -- R4 9-1: BWP switching on multiple CCs RRM requirements
    bwp-SwitchingMultiCCs-r16                   CHOICE {
        type1-r16                                   ENUMERATED {us100, us200},
        type2-r16                                   ENUMERATED {us200, us400, us800, us1000}
    }                                                                               OPTIONAL
    ]],
    [[
    targetSMTC-SCG-r16                          ENUMERATED {supported}              OPTIONAL,
    supportRepetitionZeroOffsetRV-r16           ENUMERATED {supported}              OPTIONAL,
    -- R1 11-12: in-order CBG-based re-transmission
    cbg-TransInOrderPUSCH-UL-r16                ENUMERATED {supported}              OPTIONAL
    ]],
    [[
    -- R4 6-3: Dormant BWP switching on multiple CCs RRM requirements
    bwp-SwitchingMultiDormancyCCs-r16           CHOICE {
        type1-r16                                   ENUMERATED {us100, us200},
        type2-r16                                   ENUMERATED {us200, us400, us800, us1000}
    }                                                                               OPTIONAL,
    -- R1 16-2a-8: Indicates that retransmission scheduled by a different CORESETPoolIndex for multi-DCI multi-TRP is not supported.
    supportRetx-Diff-CoresetPool-Multi-DCI-TRP-r16               ENUMERATED {notSupported}          OPTIONAL,
    -- R1 22-10: Support of pdcch-MonitoringAnyOccasionsWithSpanGap in case of cross-carrier scheduling with different SCSs
    pdcch-MonitoringAnyOccasionsWithSpanGapCrossCarrierSch-r16   ENUMERATED {mode2, mode3}          OPTIONAL
    ]],
    [[
    -- R1 16-1j-1: Support of 2 port CSI-RS for new beam identification
    newBeamIdentifications2PortCSI-RS-r16       ENUMERATED {supported}              OPTIONAL,
    -- R1 16-1j-2: Support of 2 port CSI-RS for pathloss estimation
    pathlossEstimation2PortCSI-RS-r16           ENUMERATED {supported}              OPTIONAL
    ]],
    [[
    mux-HARQ-ACK-withoutPUCCH-onPUSCH-r16       ENUMERATED {supported}              OPTIONAL
    ]],
    [[
    -- R1 31-1: Support of Desired Guard Symbol reporting and provided guard symbol reception.
    guardSymbolReportReception-IAB-r17          ENUMERATED {supported}              OPTIONAL,
    -- R1 31-2: support of restricted IAB-DU beam reception
    restricted-IAB-DU-BeamReception-r17         ENUMERATED {supported}              OPTIONAL,
    -- R1 31-3: support of recommended IAB-MT beam transmission for DL and UL beam
    recommended-IAB-MT-BeamTransmission-r17     ENUMERATED {supported}              OPTIONAL,
    -- R1 31-4: support of case 6 timing alignment indication reception
    case6-TimingAlignmentReception-IAB-r17      ENUMERATED {supported}              OPTIONAL,
    -- R1 31-5: support of case 7 timing offset indication reception and case 7 timing at parent-node indication reception
    case7-TimingAlignmentReception-IAB-r17      ENUMERATED {supported}              OPTIONAL,
    -- R1 31-6: support of desired DL Tx power adjustment reporting and DL Tx power adjustment reception
    dl-tx-PowerAdjustment-IAB-r17               ENUMERATED {supported}              OPTIONAL,
    -- R1 31-7: support of desired IAB-MT PSD range reporting
    desired-ul-tx-PowerAdjustment-r17           ENUMERATED {supported}              OPTIONAL,
    -- R1 31-8: support of monitoring DCI Format 2_5 scrambled by AI-RNTI for indication of FDM soft resource availability to an IAB node
    fdm-SoftResourceAvailability-DynamicIndication-r17  ENUMERATED{supported}       OPTIONAL,
    -- R1 31-10: Support of updated T_delta range reception
    updated-T-DeltaRangeRecption-r17            ENUMERATED{supported}               OPTIONAL,
    -- R1 30-5: Support slot based dynamic PUCCH repetition indication for PUCCH formats 0/1/2/3/4
    slotBasedDynamicPUCCH-Rep-r17               ENUMERATED {supported}              OPTIONAL,
    -- R1 25-1: Support of HARQ-ACK deferral in case of TDD collision
    sps-HARQ-ACK-Deferral-r17                   SEQUENCE {
        non-SharedSpectrumChAccess-r17              ENUMERATED {supported}          OPTIONAL,
        sharedSpectrumChAccess-r17                  ENUMERATED {supported}          OPTIONAL
    }                                                                               OPTIONAL,
    -- R1 23-1-1k Maximum number of configured CC lists (per UE)
    unifiedJointTCI-commonUpdate-r17            INTEGER (1..4)                      OPTIONAL,
    -- R1 23-2-1c PDCCH repetition with a single span of three contiguous OFDM symbols that is within the first four OFDM symbols in a slot
    mTRP-PDCCH-singleSpan-r17                   ENUMERATED {supported}              OPTIONAL,
    -- R1 27-23: Support of more than one activated PRS processing windows across all active DL BWPs
    supportedActivatedPRS-ProcessingWindow-r17  ENUMERATED {n2, n3, n4}             OPTIONAL,
    cg-TimeDomainAllocationExtension-r17        ENUMERATED {supported}              OPTIONAL
    ]],
     [[
    -- R1 25-20: Propagation delay compensation based on legacy TA procedure for TN and licensed
    ta-BasedPDC-TN-NonSharedSpectrumChAccess-r17 ENUMERATED {supported}             OPTIONAL,
    -- R1 31-11: Directional Collision Handling in DC operation
    directionalCollisionDC-IAB-r17              ENUMERATED {supported}              OPTIONAL
    ]],
    [[
    dummy1                                      ENUMERATED {supported}              OPTIONAL,
    dummy2                                      ENUMERATED {supported}              OPTIONAL,
    dummy3                                      ENUMERATED {supported}              OPTIONAL,
    dummy4                                      ENUMERATED {supported}              OPTIONAL,
    srs-AdditionalRepetition-r17                ENUMERATED {supported}              OPTIONAL,
    pusch-Repetition-CG-SDT-r17                 ENUMERATED {supported}              OPTIONAL
    ]]
}

Phy-ParametersCommon-v16a0 ::=                  SEQUENCE {
    srs-PeriodicityAndOffsetExt-r16                 ENUMERATED {supported}          OPTIONAL
}

Phy-ParametersXDD-Diff ::=          SEQUENCE {
    dynamicSFI                          ENUMERATED {supported}                      OPTIONAL,
    twoPUCCH-F0-2-ConsecSymbols         ENUMERATED {supported}                      OPTIONAL,
    twoDifferentTPC-Loop-PUSCH          ENUMERATED {supported}                      OPTIONAL,
    twoDifferentTPC-Loop-PUCCH          ENUMERATED {supported}                      OPTIONAL,
    ...,
    [[
    dl-SchedulingOffset-PDSCH-TypeA     ENUMERATED {supported}                      OPTIONAL,
    dl-SchedulingOffset-PDSCH-TypeB     ENUMERATED {supported}                      OPTIONAL,
    ul-SchedulingOffset                 ENUMERATED {supported}                      OPTIONAL
    ]]
}

Phy-ParametersFRX-Diff ::=                  SEQUENCE {
    dynamicSFI                                  ENUMERATED {supported}                      OPTIONAL,
    dummy1                                      BIT STRING (SIZE (2))                       OPTIONAL,
    twoFL-DMRS                                  BIT STRING (SIZE (2))                       OPTIONAL,
    dummy2                                      BIT STRING (SIZE (2))                       OPTIONAL,
    dummy3                                      BIT STRING (SIZE (2))                       OPTIONAL,
    supportedDMRS-TypeDL                        ENUMERATED {type1, type1And2}               OPTIONAL,
    supportedDMRS-TypeUL                        ENUMERATED {type1, type1And2}               OPTIONAL,
    semiOpenLoopCSI                             ENUMERATED {supported}                      OPTIONAL,
    csi-ReportWithoutPMI                        ENUMERATED {supported}                      OPTIONAL,
    csi-ReportWithoutCQI                        ENUMERATED {supported}                      OPTIONAL,
    onePortsPTRS                                BIT STRING (SIZE (2))                       OPTIONAL,
    twoPUCCH-F0-2-ConsecSymbols                 ENUMERATED {supported}                      OPTIONAL,
    pucch-F2-WithFH                             ENUMERATED {supported}                      OPTIONAL,
    pucch-F3-WithFH                             ENUMERATED {supported}                      OPTIONAL,
    pucch-F4-WithFH                             ENUMERATED {supported}                      OPTIONAL,
    pucch-F0-2WithoutFH                         ENUMERATED {notSupported}                   OPTIONAL,
    pucch-F1-3-4WithoutFH                       ENUMERATED {notSupported}                   OPTIONAL,
    mux-SR-HARQ-ACK-CSI-PUCCH-MultiPerSlot      ENUMERATED {supported}                      OPTIONAL,
    uci-CodeBlockSegmentation                   ENUMERATED {supported}                      OPTIONAL,
    onePUCCH-LongAndShortFormat                 ENUMERATED {supported}                      OPTIONAL,
    twoPUCCH-AnyOthersInSlot                    ENUMERATED {supported}                      OPTIONAL,
    intraSlotFreqHopping-PUSCH                  ENUMERATED {supported}                      OPTIONAL,
    pusch-LBRM                                  ENUMERATED {supported}                      OPTIONAL,
    pdcch-BlindDetectionCA                      INTEGER (4..16)                             OPTIONAL,
    tpc-PUSCH-RNTI                              ENUMERATED {supported}                      OPTIONAL,
    tpc-PUCCH-RNTI                              ENUMERATED {supported}                      OPTIONAL,
    tpc-SRS-RNTI                                ENUMERATED {supported}                      OPTIONAL,
    absoluteTPC-Command                         ENUMERATED {supported}                      OPTIONAL,
    twoDifferentTPC-Loop-PUSCH                  ENUMERATED {supported}                      OPTIONAL,
    twoDifferentTPC-Loop-PUCCH                  ENUMERATED {supported}                      OPTIONAL,
    pusch-HalfPi-BPSK                           ENUMERATED {supported}                      OPTIONAL,
    pucch-F3-4-HalfPi-BPSK                      ENUMERATED {supported}                      OPTIONAL,
    almostContiguousCP-OFDM-UL                  ENUMERATED {supported}                      OPTIONAL,
    sp-CSI-RS                                   ENUMERATED {supported}                      OPTIONAL,
    sp-CSI-IM                                   ENUMERATED {supported}                      OPTIONAL,
    tdd-MultiDL-UL-SwitchPerSlot                ENUMERATED {supported}                      OPTIONAL,
    multipleCORESET                             ENUMERATED {supported}                      OPTIONAL,
    ...,
    [[
    csi-RS-IM-ReceptionForFeedback              CSI-RS-IM-ReceptionForFeedback              OPTIONAL,
    csi-RS-ProcFrameworkForSRS                  CSI-RS-ProcFrameworkForSRS                  OPTIONAL,
    csi-ReportFramework                         CSI-ReportFramework                         OPTIONAL,
    mux-SR-HARQ-ACK-CSI-PUCCH-OncePerSlot       SEQUENCE {
        sameSymbol                                  ENUMERATED {supported}                      OPTIONAL,
        diffSymbol                                  ENUMERATED {supported}                      OPTIONAL
    }                                                                                       OPTIONAL,
    mux-SR-HARQ-ACK-PUCCH                       ENUMERATED {supported}                      OPTIONAL,
    mux-MultipleGroupCtrlCH-Overlap             ENUMERATED {supported}                      OPTIONAL,
    dl-SchedulingOffset-PDSCH-TypeA             ENUMERATED {supported}                      OPTIONAL,
    dl-SchedulingOffset-PDSCH-TypeB             ENUMERATED {supported}                      OPTIONAL,
    ul-SchedulingOffset                         ENUMERATED {supported}                      OPTIONAL,
    dl-64QAM-MCS-TableAlt                       ENUMERATED {supported}                      OPTIONAL,
    ul-64QAM-MCS-TableAlt                       ENUMERATED {supported}                      OPTIONAL,
    cqi-TableAlt                                ENUMERATED {supported}                      OPTIONAL,
    oneFL-DMRS-TwoAdditionalDMRS-UL             ENUMERATED {supported}                      OPTIONAL,
    twoFL-DMRS-TwoAdditionalDMRS-UL             ENUMERATED {supported}                      OPTIONAL,
    oneFL-DMRS-ThreeAdditionalDMRS-UL           ENUMERATED {supported}                      OPTIONAL
    ]],
    [[
    pdcch-BlindDetectionNRDC                SEQUENCE {
        pdcch-BlindDetectionMCG-UE              INTEGER (1..15),
        pdcch-BlindDetectionSCG-UE              INTEGER (1..15)
    }                                                                                       OPTIONAL,
    mux-HARQ-ACK-PUSCH-DiffSymbol               ENUMERATED {supported}                      OPTIONAL
    ]],
    [[
    -- R1 11-1b: Type 1 HARQ-ACK codebook support for relative TDRA for DL
    type1-HARQ-ACK-Codebook-r16                 ENUMERATED {supported}                      OPTIONAL,
    -- R1 11-8: Enhanced UL power control scheme
    enhancedPowerControl-r16                    ENUMERATED {supported}                      OPTIONAL,
    -- R1 16-1b-1: TCI state activation across multiple CCs
    simultaneousTCI-ActMultipleCC-r16           ENUMERATED {supported}                      OPTIONAL,
    -- R1 16-1b-2: Spatial relation update across multiple CCs
    simultaneousSpatialRelationMultipleCC-r16   ENUMERATED {supported}                      OPTIONAL,
    cli-RSSI-FDM-DL-r16                         ENUMERATED {supported}                      OPTIONAL,
    cli-SRS-RSRP-FDM-DL-r16                     ENUMERATED {supported}                      OPTIONAL,
    -- R1 19-3: Maximum MIMO Layer Adaptation
    maxLayersMIMO-Adaptation-r16                ENUMERATED {supported}                      OPTIONAL,
    -- R1 12-5: Configuration of aggregation factor per SPS configuration
    aggregationFactorSPS-DL-r16                 ENUMERATED {supported}                      OPTIONAL,
    -- R1 16-1g: Resources for beam management, pathloss measurement, BFD, RLM and new beam identification
    maxTotalResourcesForOneFreqRange-r16        SEQUENCE {
        maxNumberResWithinSlotAcrossCC-OneFR-r16    ENUMERATED {n2, n4, n8, n12, n16, n32, n64, n128}    OPTIONAL,
        maxNumberResAcrossCC-OneFR-r16              ENUMERATED {n2, n4, n8, n12, n16, n32, n40, n48, n64, n72, n80, n96, n128, n256}
                                                                                            OPTIONAL
    }                                           OPTIONAL,
    -- R1 16-7: Extension of the maximum number of configured aperiodic CSI report settings
    csi-ReportFrameworkExt-r16                  CSI-ReportFrameworkExt-r16                  OPTIONAL
    ]],
    [[
    twoTCI-Act-servingCellInCC-List-r16         ENUMERATED {supported}                      OPTIONAL
    ]],
    [[
    -- R1 22-11: Support of 'cri-RI-CQI' report without non-PMI-PortIndication
    cri-RI-CQI-WithoutNon-PMI-PortInd-r16       ENUMERATED {supported}                      OPTIONAL
    ]],
    [[
    -- R1 25-11: 4-bits subband CQI for TN and licensed
    cqi-4-BitsSubbandTN-NonSharedSpectrumChAccess-r17  ENUMERATED {supported}               OPTIONAL
    ]]
}

Phy-ParametersFR1 ::=                       SEQUENCE {
    pdcch-MonitoringSingleOccasion              ENUMERATED {supported}                      OPTIONAL,
    scs-60kHz                                   ENUMERATED {supported}                      OPTIONAL,
    pdsch-256QAM-FR1                            ENUMERATED {supported}                      OPTIONAL,
    pdsch-RE-MappingFR1-PerSymbol               ENUMERATED {n10, n20}                       OPTIONAL,
    ...,
    [[
    pdsch-RE-MappingFR1-PerSlot                 ENUMERATED {n16, n32, n48, n64, n80, n96, n112, n128,
                                                n144, n160, n176, n192, n208, n224, n240, n256}         OPTIONAL
    ]],
    [[
    -- R1 22-12: PDCCH monitoring with a single span of three contiguous OFDM symbols that is within the first four OFDM symbols in a
    -- slot
    pdcch-MonitoringSingleSpanFirst4Sym-r16     ENUMERATED {supported}                      OPTIONAL
    ]]
}

Phy-ParametersFR2 ::=                       SEQUENCE {
    dummy                                       ENUMERATED {supported}                                  OPTIONAL,
    pdsch-RE-MappingFR2-PerSymbol               ENUMERATED {n6, n20}                                    OPTIONAL,
    ...,
    [[
    pCell-FR2                                   ENUMERATED {supported}                                  OPTIONAL,
    pdsch-RE-MappingFR2-PerSlot                 ENUMERATED {n16, n32, n48, n64, n80, n96, n112, n128,
                                                    n144, n160, n176, n192, n208, n224, n240, n256}     OPTIONAL
    ]],
    [[
    -- R1 16-1c: Support of default spatial relation and pathloss reference RS for dedicated-PUCCH/SRS and PUSCH
    defaultSpatialRelationPathlossRS-r16        ENUMERATED {supported}                                  OPTIONAL,
    -- R1 16-1d: Support of spatial relation update for AP-SRS via MAC CE
    spatialRelationUpdateAP-SRS-r16             ENUMERATED {supported}                                  OPTIONAL,
    maxNumberSRS-PosSpatialRelationsAllServingCells-r16  ENUMERATED {n0, n1, n2, n4, n8, n16}           OPTIONAL
    ]]
}

-- TAG-PHY-PARAMETERS-STOP
-- ASN1STOP

-- ASN1START

-- TAG-PHY-PARAMETERSMRDC-START

Phy-ParametersMRDC ::=              SEQUENCE {
    naics-Capability-List               SEQUENCE (SIZE (1..maxNrofNAICS-Entries)) OF NAICS-Capability-Entry         OPTIONAL,
    ...,
    [[
    spCellPlacement                     CarrierAggregationVariant                                                   OPTIONAL
    ]],
    [[
    -- R1 18-3b: Semi-statically configured LTE UL transmissions in all UL subframes not limited to tdm-pattern in case of TDD PCell
    tdd-PCellUL-TX-AllUL-Subframe-r16   ENUMERATED {supported}                                                      OPTIONAL,
    -- R1 18-3a: Semi-statically configured LTE UL transmissions in all UL subframes not limited to tdm-pattern in case of FDD PCell
    fdd-PCellUL-TX-AllUL-Subframe-r16   ENUMERATED {supported}                                                      OPTIONAL
    ]]
}

NAICS-Capability-Entry ::=          SEQUENCE {
    numberOfNAICS-CapableCC             INTEGER(1..5),
    numberOfAggregatedPRB               ENUMERATED {n50, n75, n100, n125, n150, n175, n200, n225,
                                                    n250, n275, n300, n350, n400, n450, n500, spare},
    ...
}

-- TAG-PHY-PARAMETERSMRDC-STOP
-- ASN1STOP

-- ASN1START

-- TAG-PHY-PARAMETERSSHAREDSPECTRUMCHACCESS-START

Phy-ParametersSharedSpectrumChAccess-r16 ::=    SEQUENCE {
    -- 10-32 (1-2): SS block based SINR measurement (SS-SINR) for unlicensed spectrum
    ss-SINR-Meas-r16                                ENUMERATED {supported}                      OPTIONAL,
    -- 10-33 (2-32a): Semi-persistent CSI report on PUCCH for unlicensed spectrum
    sp-CSI-ReportPUCCH-r16                          ENUMERATED {supported}                      OPTIONAL,
    -- 10-33a (2-32b): Semi-persistent CSI report on PUSCH for unlicensed spectrum
    sp-CSI-ReportPUSCH-r16                          ENUMERATED {supported}                      OPTIONAL,
    -- 10-34 (3-6): Dynamic SFI monitoring for unlicensed spectrum
    dynamicSFI-r16                                  ENUMERATED {supported}                      OPTIONAL,
    -- 10-35c (4-19c): SR/HARQ-ACK/CSI multiplexing once per slot using a PUCCH (or HARQ-ACK/CSI piggybacked on a PUSCH) when SR/HARQ-
    -- ACK/CSI are supposed to be sent with different starting symbols in a slot for unlicensed spectrum
    -- 10-35 (4-19): SR/HARQ-ACK/CSI multiplexing once per slot using a PUCCH (or HARQ-ACK/CSI piggybacked on a PUSCH) when SR/HARQ-
    -- ACK/CSI are supposed to be sent with the same starting symbol on the PUCCH resources in a slot for unlicensed spectrum
    mux-SR-HARQ-ACK-CSI-PUCCH-OncePerSlot-r16       SEQUENCE {
        sameSymbol-r16                                  ENUMERATED {supported}                  OPTIONAL,
        diffSymbol-r16                                  ENUMERATED {supported}                  OPTIONAL
    }                                                                                           OPTIONAL,
    -- 10-35a (4-19a): Overlapping PUCCH resources have different starting symbols in a slot for unlicensed spectrum
    mux-SR-HARQ-ACK-PUCCH-r16                       ENUMERATED {supported}                      OPTIONAL,
    -- 10-35b (4-19b): SR/HARQ-ACK/CSI multiplexing more than once per slot using a PUCCH (or HARQ-ACK/CSI piggybacked on a PUSCH) when
    -- SR/HARQ ACK/CSI are supposed to be sent with the same or different starting symbol in a slot for unlicensed spectrum
    mux-SR-HARQ-ACK-CSI-PUCCH-MultiPerSlot-r16      ENUMERATED {supported}                      OPTIONAL,
    -- 10-36 (4-28): HARQ-ACK multiplexing on PUSCH with different PUCCH/PUSCH starting OFDM symbols for unlicensed spectrum
    mux-HARQ-ACK-PUSCH-DiffSymbol-r16               ENUMERATED {supported}                      OPTIONAL,
    -- 10-37 (4-23): Repetitions for PUCCH format 1, 3, and 4 over multiple slots with K = 2, 4, 8 for unlicensed spectrum
    pucch-Repetition-F1-3-4-r16                     ENUMERATED {supported}                      OPTIONAL,
    -- 10-38 (5-14): Type 1 configured PUSCH repetitions over multiple slots for unlicensed spectrum
    type1-PUSCH-RepetitionMultiSlots-r16            ENUMERATED {supported}                      OPTIONAL,
    -- 10-39 (5-16): Type 2 configured PUSCH repetitions over multiple slots for unlicensed spectrum
    type2-PUSCH-RepetitionMultiSlots-r16            ENUMERATED {supported}                      OPTIONAL,
    -- 10-40 (5-17): PUSCH repetitions over multiple slots for unlicensed spectrum
    pusch-RepetitionMultiSlots-r16                  ENUMERATED {supported}                      OPTIONAL,
    -- 10-40a (5-17a): PDSCH repetitions over multiple slots for unlicensed spectrum
    pdsch-RepetitionMultiSlots-r16                  ENUMERATED {supported}                      OPTIONAL,
    -- 10-41 (5-18): DL SPS
    downlinkSPS-r16                                 ENUMERATED {supported}                      OPTIONAL,
    -- 10-42 (5-19): Type 1 Configured UL grant
    configuredUL-GrantType1-r16                     ENUMERATED {supported}                      OPTIONAL,
    -- 10-43 (5-20): Type 2 Configured UL grant
    configuredUL-GrantType2-r16                     ENUMERATED {supported}                      OPTIONAL,
    -- 10-44 (5-21): Pre-emption indication for DL
    pre-EmptIndication-DL-r16                       ENUMERATED {supported}                      OPTIONAL,
    ...
}

-- TAG-PHY-PARAMETERSSHAREDSPECTRUMCHACCESS-STOP
-- ASN1STOP

-- ASN1START

-- TAG-POSSRS-RRC-INACTIVE-OUTSIDEINITIALUL-BWP-START

PosSRS-RRC-Inactive-OutsideInitialUL-BWP-r17 ::= SEQUENCE {
    -- R1 27-15b: Positioning SRS transmission in RRC_INACTIVE state configured outside initial UL BWP
    maxSRSposBandwidthForEachSCS-withinCC-FR1-r17   ENUMERATED {bw5, bw10, bw15, bw20, bw25, bw30, bw35, bw40,
                                                    bw45, bw50, bw60, bw70, bw80, bw90, bw100}                    OPTIONAL,
    maxSRSposBandwidthForEachSCS-withinCC-FR2-r17   ENUMERATED {bw50, bw100, bw200, bw400}                        OPTIONAL,
    maxNumOfSRSposResourceSets-r17                  ENUMERATED {n1, n2, n4, n8, n12, n16}                         OPTIONAL,
    maxNumOfPeriodicSRSposResources-r17             ENUMERATED {n1, n2, n4, n8, n16, n32, n64}                    OPTIONAL,
    maxNumOfPeriodicSRSposResourcesPerSlot-r17      ENUMERATED {n1, n2, n3, n4, n5, n6, n8, n10, n12, n14}        OPTIONAL,
    differentNumerologyBetweenSRSposAndInitialBWP-r17  ENUMERATED {supported}                                     OPTIONAL,
    srsPosWithoutRestrictionOnBWP-r17               ENUMERATED {supported}                                        OPTIONAL,
    maxNumOfPeriodicAndSemipersistentSRSposResources-r17  ENUMERATED {n1, n2, n4, n8, n16, n32, n64}              OPTIONAL,
    maxNumOfPeriodicAndSemipersistentSRSposResourcesPerSlot-r17  ENUMERATED {n1, n2, n3, n4, n5, n6, n8, n10, n12, n14}  OPTIONAL,
    differentCenterFreqBetweenSRSposAndInitialBWP-r17  ENUMERATED {supported}                                     OPTIONAL,
    switchingTimeSRS-TX-OtherTX-r17                 ENUMERATED {us100, us140, us200, us300, us500}                OPTIONAL,
    -- R1 27-15c: Support of positioning SRS transmission in RRC_INACTIVE state outside initial BWP with semi-persistent SRS
    maxNumOfSemiPersistentSRSposResources-r17       ENUMERATED {n1, n2, n4, n8, n16, n32, n64}                    OPTIONAL,
    maxNumOfSemiPersistentSRSposResourcesPerSlot-r17  ENUMERATED {n1, n2, n3, n4, n5, n6, n8, n10, n12, n14}      OPTIONAL,
    ...
}

-- TAG-POSSRS-RRC-INACTIVE-OUTSIDEINITIALUL-BWP-STOP
-- ASN1STOP

-- ASN1START

-- TAG-POWSAV-PARAMETERS-START

PowSav-Parameters-r16 ::=         SEQUENCE {
    powSav-ParametersCommon-r16               PowSav-ParametersCommon-r16                                        OPTIONAL,
    powSav-ParametersFRX-Diff-r16             PowSav-ParametersFRX-Diff-r16                                      OPTIONAL,
    ...
}

PowSav-Parameters-v1700 ::=     SEQUENCE {
    powSav-ParametersFR2-2-r17      PowSav-ParametersFR2-2-r17                                                   OPTIONAL,
    ...
}

PowSav-ParametersCommon-r16 ::=    SEQUENCE {
    drx-Preference-r16                        ENUMERATED {supported}                                             OPTIONAL,
    maxCC-Preference-r16                      ENUMERATED {supported}                                             OPTIONAL,
    releasePreference-r16                     ENUMERATED {supported}                                             OPTIONAL,
    -- R1 19-4a: UE assistance information
    minSchedulingOffsetPreference-r16         ENUMERATED {supported}                                             OPTIONAL,
    ...
}

PowSav-ParametersFRX-Diff-r16 ::=    SEQUENCE {
    maxBW-Preference-r16                      ENUMERATED {supported}                                             OPTIONAL,
    maxMIMO-LayerPreference-r16               ENUMERATED {supported}                                             OPTIONAL,
    ...
}

PowSav-ParametersFR2-2-r17 ::=      SEQUENCE {
    maxBW-Preference-r17                      ENUMERATED {supported}                                             OPTIONAL,
    maxMIMO-LayerPreference-r17               ENUMERATED {supported}                                             OPTIONAL,
    ...
}

-- TAG-POWSAV-PARAMETERS-STOP
-- ASN1STOP

-- ASN1START

-- TAG-PROCESSINGPARAMETERS-START

ProcessingParameters ::=        SEQUENCE {
    fallback                        ENUMERATED {sc, cap1-only},
    differentTB-PerSlot              SEQUENCE {
        upto1                          NumberOfCarriers                    OPTIONAL,
        upto2                          NumberOfCarriers                    OPTIONAL,
        upto4                          NumberOfCarriers                    OPTIONAL,
        upto7                          NumberOfCarriers                    OPTIONAL
    }                                                                 OPTIONAL
}

NumberOfCarriers ::=    INTEGER (1..16)

-- TAG-PROCESSINGPARAMETERS-STOP
-- ASN1STOP

-- ASN1START

-- TAG-PRS-PROCESSINGCAPABILITYOUTSIDEMGINPPWPERType-START

PRS-ProcessingCapabilityOutsideMGinPPWperType-r17 ::= SEQUENCE {
    prsProcessingType-r17                                 ENUMERATED {type1A, type1B, type2},
    ppw-dl-PRS-BufferType-r17                             ENUMERATED {type1, type2, ...},
    ppw-durationOfPRS-Processing-r17                      CHOICE {
        ppw-durationOfPRS-Processing1-r17                     SEQUENCE {
            ppw-durationOfPRS-ProcessingSymbolsN-r17              ENUMERATED {msDot125, msDot25, msDot5, ms1, ms2, ms4, ms6, ms8, ms12,
                                                                              ms16, ms20, ms25, ms30, ms32, ms35, ms40, ms45, ms50},
            ppw-durationOfPRS-ProcessingSymbolsT-r17              ENUMERATED {ms1, ms2, ms4, ms8, ms16, ms20, ms30, ms40, ms80,
                                                                              ms160, ms320, ms640, ms1280}
        },
        ppw-durationOfPRS-Processing2-r17                     SEQUENCE {
            ppw-durationOfPRS-ProcessingSymbolsN2-r17             ENUMERATED {msDot125, msDot25, msDot5, ms1, ms2, ms3, ms4, ms5,
                                                                              ms6, ms8, ms12},
            ppw-durationOfPRS-ProcessingSymbolsT2-r17             ENUMERATED {ms4, ms5, ms6, ms8}
        }
    }                                                                                                                          OPTIONAL,
    ppw-maxNumOfDL-PRS-ResProcessedPerSlot-r17            SEQUENCE {
        scs15-r17                                             ENUMERATED {n1, n2, n4, n6, n8, n12, n16, n24, n32, n48, n64}    OPTIONAL,
        scs30-r17                                             ENUMERATED {n1, n2, n4, n6, n8, n12, n16, n24, n32, n48, n64}    OPTIONAL,
        scs60-r17                                             ENUMERATED {n1, n2, n4, n6, n8, n12, n16, n24, n32, n48, n64}    OPTIONAL,
        scs120-r17                                            ENUMERATED {n1, n2, n4, n6, n8, n12, n16, n24, n32, n48, n64}    OPTIONAL,
        ...
    },
    ppw-maxNumOfDL-Bandwidth-r17                          CHOICE {
        fr1-r17                                               ENUMERATED {mhz5, mhz10, mhz20, mhz40,	mhz50, mhz80, mhz100},
        fr2-r17                                               ENUMERATED {mhz50, mhz100, mhz200, mhz400}
    }                                                                                                                          OPTIONAL
}

-- TAG-PRS-PROCESSINGCAPABILITYOUTSIDEMGINPPWPERType-STOP
-- ASN1STOP

-- ASN1START

-- TAG-RAT-TYPE-START

RAT-Type ::= ENUMERATED {nr, eutra-nr, eutra, utra-fdd-v1610, ...}

-- TAG-RAT-TYPE-STOP
-- ASN1STOP

-- ASN1START

-- TAG-REDCAPPARAMETERS-START

RedCapParameters-r17 ::=                   SEQUENCE {
    -- R1 28-1: RedCap UE
    supportOfRedCap-r17                       ENUMERATED {supported}                                      OPTIONAL,
    supportOf16DRB-RedCap-r17                 ENUMERATED {supported}                                      OPTIONAL
}

RedCapParameters-v1740 ::=                 SEQUENCE {
    ncd-SSB-ForRedCapInitialBWP-SDT-r17       ENUMERATED {supported}                                      OPTIONAL
}

-- TAG-REDCAPPARAMETERS-STOP
-- ASN1STOP

-- ASN1START

-- TAG-RF-PARAMETERS-START

RF-Parameters ::=                                   SEQUENCE {
    supportedBandListNR                                 SEQUENCE (SIZE (1..maxBands)) OF BandNR,
    supportedBandCombinationList                        BandCombinationList                         OPTIONAL,
    appliedFreqBandListFilter                           FreqBandList                                OPTIONAL,
    ...,
    [[
    supportedBandCombinationList-v1540                  BandCombinationList-v1540                   OPTIONAL,
    srs-SwitchingTimeRequested                          ENUMERATED {true}                           OPTIONAL
    ]],
    [[
    supportedBandCombinationList-v1550                  BandCombinationList-v1550                   OPTIONAL
    ]],
    [[
    supportedBandCombinationList-v1560                  BandCombinationList-v1560                   OPTIONAL
    ]],
    [[
    supportedBandCombinationList-v1610                  BandCombinationList-v1610                   OPTIONAL,
    supportedBandCombinationListSidelinkEUTRA-NR-r16    BandCombinationListSidelinkEUTRA-NR-r16     OPTIONAL,
    supportedBandCombinationList-UplinkTxSwitch-r16     BandCombinationList-UplinkTxSwitch-r16      OPTIONAL
    ]],
    [[
    supportedBandCombinationList-v1630                  BandCombinationList-v1630                   OPTIONAL,
    supportedBandCombinationListSidelinkEUTRA-NR-v1630  BandCombinationListSidelinkEUTRA-NR-v1630   OPTIONAL,
    supportedBandCombinationList-UplinkTxSwitch-v1630   BandCombinationList-UplinkTxSwitch-v1630    OPTIONAL
    ]],
    [[
    supportedBandCombinationList-v1640                  BandCombinationList-v1640                   OPTIONAL,
    supportedBandCombinationList-UplinkTxSwitch-v1640   BandCombinationList-UplinkTxSwitch-v1640    OPTIONAL
    ]],
    [[
    supportedBandCombinationList-v1650                  BandCombinationList-v1650                   OPTIONAL,
    supportedBandCombinationList-UplinkTxSwitch-v1650   BandCombinationList-UplinkTxSwitch-v1650    OPTIONAL
    ]],
    [[
    extendedBand-n77-r16                                ENUMERATED {supported}                      OPTIONAL
    ]],
    [[
    supportedBandCombinationList-UplinkTxSwitch-v1670   BandCombinationList-UplinkTxSwitch-v1670    OPTIONAL
    ]],
    [[
    supportedBandCombinationList-v1680                  BandCombinationList-v1680                   OPTIONAL
    ]],
    [[
    supportedBandCombinationList-v1690                  BandCombinationList-v1690                   OPTIONAL,
    supportedBandCombinationList-UplinkTxSwitch-v1690   BandCombinationList-UplinkTxSwitch-v1690    OPTIONAL
    ]],
    [[
    supportedBandCombinationList-v1700                  BandCombinationList-v1700                   OPTIONAL,
    supportedBandCombinationList-UplinkTxSwitch-v1700   BandCombinationList-UplinkTxSwitch-v1700    OPTIONAL,
    supportedBandCombinationListSL-RelayDiscovery-r17   OCTET STRING                                OPTIONAL,  -- Contains PC5 BandCombinationListSidelinkNR-r16
    supportedBandCombinationListSL-NonRelayDiscovery-r17 OCTET STRING                               OPTIONAL,  -- Contains PC5 BandCombinationListSidelinkNR-r16
    supportedBandCombinationListSidelinkEUTRA-NR-v1710  BandCombinationListSidelinkEUTRA-NR-v1710   OPTIONAL,
    sidelinkRequested-r17                               ENUMERATED {true}                           OPTIONAL,
    extendedBand-n77-2-r17                              ENUMERATED {supported}                      OPTIONAL
    ]],
    [[
    supportedBandCombinationList-v1720                  BandCombinationList-v1720                   OPTIONAL,
    supportedBandCombinationList-UplinkTxSwitch-v1720   BandCombinationList-UplinkTxSwitch-v1720    OPTIONAL
    ]],
    [[
    supportedBandCombinationList-v1730                  BandCombinationList-v1730                   OPTIONAL,
    supportedBandCombinationList-UplinkTxSwitch-v1730   BandCombinationList-UplinkTxSwitch-v1730    OPTIONAL,
    supportedBandCombinationListSL-RelayDiscovery-v1730 BandCombinationListSL-Discovery-r17         OPTIONAL,
    supportedBandCombinationListSL-NonRelayDiscovery-v1730 BandCombinationListSL-Discovery-r17      OPTIONAL
    ]],
    [[
    supportedBandCombinationList-v1740                  BandCombinationList-v1740                   OPTIONAL,
    supportedBandCombinationList-UplinkTxSwitch-v1740   BandCombinationList-UplinkTxSwitch-v1740    OPTIONAL
    ]]
}

RF-Parameters-v15g0 ::=                   SEQUENCE {
    supportedBandCombinationList-v15g0        BandCombinationList-v15g0                   OPTIONAL
}

RF-Parameters-v16a0 ::=                            SEQUENCE {
    supportedBandCombinationList-v16a0                 BandCombinationList-v16a0                    OPTIONAL,
    supportedBandCombinationList-UplinkTxSwitch-v16a0  BandCombinationList-UplinkTxSwitch-v16a0     OPTIONAL
}

RF-Parameters-v16c0 ::=                            SEQUENCE {
    supportedBandListNR-v16c0                          SEQUENCE (SIZE (1..maxBands)) OF BandNR-v16c0
}

BandNR ::=                          SEQUENCE {
    bandNR                              FreqBandIndicatorNR,
    modifiedMPR-Behaviour               BIT STRING (SIZE (8))                           OPTIONAL,
    mimo-ParametersPerBand              MIMO-ParametersPerBand                          OPTIONAL,
    extendedCP                          ENUMERATED {supported}                          OPTIONAL,
    multipleTCI                         ENUMERATED {supported}                          OPTIONAL,
    bwp-WithoutRestriction              ENUMERATED {supported}                          OPTIONAL,
    bwp-SameNumerology                  ENUMERATED {upto2, upto4}                       OPTIONAL,
    bwp-DiffNumerology                  ENUMERATED {upto4}                              OPTIONAL,
    crossCarrierScheduling-SameSCS      ENUMERATED {supported}                          OPTIONAL,
    pdsch-256QAM-FR2                    ENUMERATED {supported}                          OPTIONAL,
    pusch-256QAM                        ENUMERATED {supported}                          OPTIONAL,
    ue-PowerClass                       ENUMERATED {pc1, pc2, pc3, pc4}                 OPTIONAL,
    rateMatchingLTE-CRS                 ENUMERATED {supported}                          OPTIONAL,
    channelBWs-DL                       CHOICE {
        fr1                                 SEQUENCE {
            scs-15kHz                           BIT STRING (SIZE (10))                      OPTIONAL,
            scs-30kHz                           BIT STRING (SIZE (10))                      OPTIONAL,
            scs-60kHz                           BIT STRING (SIZE (10))                      OPTIONAL
        },
        fr2                                 SEQUENCE {
            scs-60kHz                           BIT STRING (SIZE (3))                       OPTIONAL,
            scs-120kHz                          BIT STRING (SIZE (3))                       OPTIONAL
        }
    }                                                                                   OPTIONAL,
    channelBWs-UL                       CHOICE {
        fr1                                 SEQUENCE {
            scs-15kHz                           BIT STRING (SIZE (10))                      OPTIONAL,
            scs-30kHz                           BIT STRING (SIZE (10))                      OPTIONAL,
            scs-60kHz                           BIT STRING (SIZE (10))                      OPTIONAL
        },
        fr2                                 SEQUENCE {
            scs-60kHz                           BIT STRING (SIZE (3))                       OPTIONAL,
            scs-120kHz                          BIT STRING (SIZE (3))                       OPTIONAL
        }
    }                                                                                   OPTIONAL,
    ...,
    [[
    maxUplinkDutyCycle-PC2-FR1                  ENUMERATED {n60, n70, n80, n90, n100}   OPTIONAL
    ]],
    [[
    pucch-SpatialRelInfoMAC-CE          ENUMERATED {supported}                          OPTIONAL,
    powerBoosting-pi2BPSK               ENUMERATED {supported}                          OPTIONAL
    ]],
    [[
    maxUplinkDutyCycle-FR2          ENUMERATED {n15, n20, n25, n30, n40, n50, n60, n70, n80, n90, n100}     OPTIONAL
    ]],
    [[
    channelBWs-DL-v1590                 CHOICE {
        fr1                                 SEQUENCE {
            scs-15kHz                           BIT STRING (SIZE (16))              OPTIONAL,
            scs-30kHz                           BIT STRING (SIZE (16))              OPTIONAL,
            scs-60kHz                           BIT STRING (SIZE (16))              OPTIONAL
        },
        fr2                                 SEQUENCE {
            scs-60kHz                           BIT STRING (SIZE (8))               OPTIONAL,
            scs-120kHz                          BIT STRING (SIZE (8))               OPTIONAL
        }
    }                                                                               OPTIONAL,
    channelBWs-UL-v1590                 CHOICE {
        fr1                                 SEQUENCE {
            scs-15kHz                           BIT STRING (SIZE (16))              OPTIONAL,
            scs-30kHz                           BIT STRING (SIZE (16))              OPTIONAL,
            scs-60kHz                           BIT STRING (SIZE (16))              OPTIONAL
        },
        fr2                                 SEQUENCE {
            scs-60kHz                           BIT STRING (SIZE (8))               OPTIONAL,
            scs-120kHz                          BIT STRING (SIZE (8))               OPTIONAL
        }
    }                                                                               OPTIONAL
    ]],
    [[
    asymmetricBandwidthCombinationSet     BIT STRING (SIZE (1..32))           OPTIONAL
    ]],
    [[
    -- R1 10: NR-unlicensed
    sharedSpectrumChAccessParamsPerBand-r16 SharedSpectrumChAccessParamsPerBand-r16 OPTIONAL,
    -- R1 11-7b: Independent cancellation of the overlapping PUSCHs in an intra-band UL CA
    cancelOverlappingPUSCH-r16              ENUMERATED {supported}                  OPTIONAL,
    -- R1 14-1: Multiple LTE-CRS rate matching patterns
    multipleRateMatchingEUTRA-CRS-r16       SEQUENCE {
        maxNumberPatterns-r16               INTEGER (2..6),
        maxNumberNon-OverlapPatterns-r16    INTEGER (1..3)
    }                                                                               OPTIONAL,
    -- R1 14-1a: Two LTE-CRS overlapping rate matching patterns within a part of NR carrier using 15 kHz overlapping with a LTE carrier
    overlapRateMatchingEUTRA-CRS-r16        ENUMERATED {supported}                  OPTIONAL,
    -- R1 14-2: PDSCH Type B mapping of length 9 and 10 OFDM symbols
    pdsch-MappingTypeB-Alt-r16              ENUMERATED {supported}                  OPTIONAL,
    -- R1 14-3: One slot periodic TRS configuration for FR1
    oneSlotPeriodicTRS-r16                  ENUMERATED {supported}                  OPTIONAL,
    olpc-SRS-Pos-r16                        OLPC-SRS-Pos-r16                        OPTIONAL,
    spatialRelationsSRS-Pos-r16             SpatialRelationsSRS-Pos-r16             OPTIONAL,
    simulSRS-MIMO-TransWithinBand-r16       ENUMERATED {n2}                         OPTIONAL,
    channelBW-DL-IAB-r16                    CHOICE {
        fr1-100mhz                              SEQUENCE {
            scs-15kHz                               ENUMERATED {supported}          OPTIONAL,
            scs-30kHz                               ENUMERATED {supported}          OPTIONAL,
            scs-60kHz                               ENUMERATED {supported}          OPTIONAL
        },
        fr2-200mhz                          SEQUENCE {
            scs-60kHz                           ENUMERATED {supported}              OPTIONAL,
            scs-120kHz                          ENUMERATED {supported}              OPTIONAL
        }
    }                                                                               OPTIONAL,
    channelBW-UL-IAB-r16                    CHOICE {
        fr1-100mhz                              SEQUENCE {
            scs-15kHz                               ENUMERATED {supported}          OPTIONAL,
            scs-30kHz                               ENUMERATED {supported}          OPTIONAL,
            scs-60kHz                               ENUMERATED {supported}          OPTIONAL
        },
        fr2-200mhz                              SEQUENCE {
            scs-60kHz                               ENUMERATED {supported}          OPTIONAL,
            scs-120kHz                              ENUMERATED {supported}          OPTIONAL
        }
    }                                                                               OPTIONAL,
    rasterShift7dot5-IAB-r16                ENUMERATED {supported}                  OPTIONAL,
    ue-PowerClass-v1610                     ENUMERATED {pc1dot5}                    OPTIONAL,
    condHandover-r16                        ENUMERATED {supported}                  OPTIONAL,
    condHandoverFailure-r16                 ENUMERATED {supported}                  OPTIONAL,
    condHandoverTwoTriggerEvents-r16        ENUMERATED {supported}                  OPTIONAL,
    condPSCellChange-r16                    ENUMERATED {supported}                  OPTIONAL,
    condPSCellChangeTwoTriggerEvents-r16    ENUMERATED {supported}                  OPTIONAL,
    mpr-PowerBoost-FR2-r16                  ENUMERATED {supported}                  OPTIONAL,

    -- R1 11-9: Multiple active configured grant configurations for a BWP of a serving cell
    activeConfiguredGrant-r16               SEQUENCE {
    maxNumberConfigsPerBWP-r16                  ENUMERATED {n1, n2, n4, n8, n12},
    maxNumberConfigsAllCC-r16                   INTEGER (2..32)
    }                                                                               OPTIONAL,
    -- R1 11-9a: Joint release in a DCI for two or more configured grant Type 2 configurations for a given BWP of a serving cell
    jointReleaseConfiguredGrantType2-r16    ENUMERATED {supported}                  OPTIONAL,
    -- R1 12-2: Multiple SPS configurations
    sps-r16                                 SEQUENCE {
    maxNumberConfigsPerBWP-r16                  INTEGER (1..8),
    maxNumberConfigsAllCC-r16                   INTEGER (2..32)
    }                                                                               OPTIONAL,
    -- R1 12-2a: Joint release in a DCI for two or more SPS configurations for a given BWP of a serving cell
    jointReleaseSPS-r16                     ENUMERATED {supported}                  OPTIONAL,
    -- R1 13-19: Simultaneous positioning SRS and MIMO SRS transmission within a band across multiple CCs
    simulSRS-TransWithinBand-r16            ENUMERATED {n2}                         OPTIONAL,
    trs-AdditionalBandwidth-r16             ENUMERATED {trs-AddBW-Set1, trs-AddBW-Set2}  OPTIONAL,
    handoverIntraF-IAB-r16                  ENUMERATED {supported}                  OPTIONAL
    ]],
    [[
    -- R1 22-5a: Simultaneous transmission of SRS for antenna switching and SRS for CB/NCB /BM for intra-band UL CA
    -- R1 22-5c: Simultaneous transmission of SRS for antenna switching and SRS for antenna switching for intra-band UL CA
    simulTX-SRS-AntSwitchingIntraBandUL-CA-r16  SimulSRS-ForAntennaSwitching-r16            OPTIONAL,
    -- R1 10: NR-unlicensed
    sharedSpectrumChAccessParamsPerBand-v1630   SharedSpectrumChAccessParamsPerBand-v1630   OPTIONAL
    ]],
    [[
    handoverUTRA-FDD-r16                      ENUMERATED {supported}                       OPTIONAL,
    -- R4 7-4: Report the shorter transient capability supported by the UE: 2, 4 or 7us
    enhancedUL-TransientPeriod-r16            ENUMERATED {us2, us4, us7}                   OPTIONAL,
    sharedSpectrumChAccessParamsPerBand-v1640 SharedSpectrumChAccessParamsPerBand-v1640    OPTIONAL
    ]],
    [[
    type1-PUSCH-RepetitionMultiSlots-v1650    ENUMERATED {supported}                       OPTIONAL,
    type2-PUSCH-RepetitionMultiSlots-v1650    ENUMERATED {supported}                       OPTIONAL,
    pusch-RepetitionMultiSlots-v1650          ENUMERATED {supported}                       OPTIONAL,
    configuredUL-GrantType1-v1650             ENUMERATED {supported}                       OPTIONAL,
    configuredUL-GrantType2-v1650             ENUMERATED {supported}                       OPTIONAL,
    sharedSpectrumChAccessParamsPerBand-v1650 SharedSpectrumChAccessParamsPerBand-v1650    OPTIONAL
    ]],
    [[
    enhancedSkipUplinkTxConfigured-v1660      ENUMERATED {supported}                       OPTIONAL,
    enhancedSkipUplinkTxDynamic-v1660         ENUMERATED {supported}                       OPTIONAL
    ]],
    [[
    maxUplinkDutyCycle-PC1dot5-MPE-FR1-r16    ENUMERATED {n10, n15, n20, n25, n30, n40, n50, n60, n70, n80, n90, n100}   OPTIONAL,
    txDiversity-r16                           ENUMERATED {supported}                       OPTIONAL
    ]],
    [[
     -- R1 36-1: Support of 1024QAM for PDSCH for FR1
    pdsch-1024QAM-FR1-r17                     ENUMERATED {supported}                       OPTIONAL,
     -- R4 22-1 support of FR2 HST operation
    ue-PowerClass-v1700                       ENUMERATED {pc5, pc6, pc7}                   OPTIONAL,
    -- R1 24: NR extension to 71GHz (FR2-2)
    fr2-2-AccessParamsPerBand-r17             FR2-2-AccessParamsPerBand-r17                OPTIONAL,
    rlm-Relaxation-r17                        ENUMERATED {supported}                       OPTIONAL,
    bfd-Relaxation-r17                        ENUMERATED {supported}                       OPTIONAL,
    cg-SDT-r17                                ENUMERATED {supported}                       OPTIONAL,
    locationBasedCondHandover-r17             ENUMERATED {supported}                       OPTIONAL,
    timeBasedCondHandover-r17                 ENUMERATED {supported}                       OPTIONAL,
    eventA4BasedCondHandover-r17              ENUMERATED {supported}                       OPTIONAL,
    mn-InitiatedCondPSCellChangeNRDC-r17      ENUMERATED {supported}                       OPTIONAL,
    sn-InitiatedCondPSCellChangeNRDC-r17      ENUMERATED {supported}                       OPTIONAL,
    -- R1 29-3a: PDCCH skipping
    pdcch-SkippingWithoutSSSG-r17             ENUMERATED {supported}                       OPTIONAL,
    -- R1 29-3b: 2 search space sets group switching
    sssg-Switching-1BitInd-r17                ENUMERATED {supported}                       OPTIONAL,
    -- R1 29-3c: 3 search space sets group switching
    sssg-Switching-2BitInd-r17                ENUMERATED {supported}                       OPTIONAL,
    -- R1 29-3d: 2 search space sets group switching with PDCCH skipping
    pdcch-SkippingWithSSSG-r17                ENUMERATED {supported}                       OPTIONAL,
    -- R1 29-3e: Support Search space set group switching capability 2 for FR1
    searchSpaceSetGrp-switchCap2-r17          ENUMERATED {supported}                       OPTIONAL,
    -- R1 26-1: Uplink Time and Frequency pre-compensation and timing relationship enhancements
    uplinkPreCompensation-r17                 ENUMERATED {supported}                       OPTIONAL,
    -- R1 26-4: UE reporting of information related to TA pre-compensation
    uplink-TA-Reporting-r17                   ENUMERATED {supported}                       OPTIONAL,
    -- R1 26-5: Increasing the number of HARQ processes
    max-HARQ-ProcessNumber-r17                ENUMERATED {u16d32, u32d16, u32d32}          OPTIONAL,
    -- R1 26-6: Type-2 HARQ codebook enhancement
    type2-HARQ-Codebook-r17                   ENUMERATED {supported}                       OPTIONAL,
    -- R1 26-6a: Type-1 HARQ codebook enhancement
    type1-HARQ-Codebook-r17                   ENUMERATED {supported}                       OPTIONAL,
    -- R1 26-6b: Type-3 HARQ codebook enhancement
    type3-HARQ-Codebook-r17                   ENUMERATED {supported}                       OPTIONAL,
    -- R1 26-9: UE-specific K_offset
    ue-specific-K-Offset-r17                  ENUMERATED {supported}                       OPTIONAL,
    -- R1 24-1f: Multiple PDSCH scheduling by single DCI for 120kHz in FR2-1
    multiPDSCH-SingleDCI-FR2-1-SCS-120kHz-r17 ENUMERATED {supported}                       OPTIONAL,
    -- R1 24-1g: Multiple PUSCH scheduling by single DCI for 120kHz in FR2-1
    multiPUSCH-SingleDCI-FR2-1-SCS-120kHz-r17 ENUMERATED {supported}                       OPTIONAL,
    -- R4 14-4: Parallel PRS measurements in RRC_INACTIVE state, FR1/FR2 diff
    parallelPRS-MeasRRC-Inactive-r17          ENUMERATED {supported}                       OPTIONAL,
    -- R1 27-1-2: Support of UE-TxTEGs for UL TDOA
    nr-UE-TxTEG-ID-MaxSupport-r17             ENUMERATED {n1, n2, n3, n4, n6, n8}          OPTIONAL,
    -- R1 27-17: PRS processing in RRC_INACTIVE
    prs-ProcessingRRC-Inactive-r17            ENUMERATED {supported}                       OPTIONAL,
    -- R1 27-3-2: DL PRS measurement outside MG and in a PRS processing window
    prs-ProcessingWindowType1A-r17            ENUMERATED {option1, option2, option3}       OPTIONAL,
    prs-ProcessingWindowType1B-r17            ENUMERATED {option1, option2, option3}       OPTIONAL,
    prs-ProcessingWindowType2-r17             ENUMERATED {option1, option2, option3}       OPTIONAL,
    -- R1 27-15: Positioning SRS transmission in RRC_INACTIVE state for initial UL BWP
    srs-AllPosResourcesRRC-Inactive-r17       SRS-AllPosResourcesRRC-Inactive-r17          OPTIONAL,
    -- R1 27-16: OLPC for positioning SRS in RRC_INACTIVE state - gNB
    olpc-SRS-PosRRC-Inactive-r17              OLPC-SRS-Pos-r16                             OPTIONAL,
    -- R1 27-19: Spatial relation for positioning SRS in RRC_INACTIVE state - gNB
    spatialRelationsSRS-PosRRC-Inactive-r17   SpatialRelationsSRS-Pos-r16                  OPTIONAL,
    -- R1 30-1: Increased maximum number of PUSCH Type A repetitions
    maxNumberPUSCH-TypeA-Repetition-r17       ENUMERATED {supported}                       OPTIONAL,
    -- R1 30-2: PUSCH Type A repetitions based on available slots
    puschTypeA-RepetitionsAvailSlot-r17       ENUMERATED {supported}                       OPTIONAL,
    -- R1 30-3: TB processing over multi-slot PUSCH
    tb-ProcessingMultiSlotPUSCH-r17           ENUMERATED {supported}                       OPTIONAL,
    -- R1 30-3a: Repetition of TB processing over multi-slot PUSCH
    tb-ProcessingRepMultiSlotPUSCH-r17        ENUMERATED {supported}                       OPTIONAL,
    -- R1 30-4: The maximum duration for DM-RS bundling
    maxDurationDMRS-Bundling-r17              SEQUENCE {
        fdd-r17                                   ENUMERATED {n4, n8, n16, n32}            OPTIONAL,
        tdd-r17                                   ENUMERATED {n2, n4, n8, n16}             OPTIONAL
    }                                                                                      OPTIONAL,
    -- R1 30-6: Repetition of PUSCH transmission scheduled by RAR UL grant and DCI format 0_0 with CRC scrambled by TC-RNTI
    pusch-RepetitionMsg3-r17                  ENUMERATED {supported}                       OPTIONAL,
    sharedSpectrumChAccessParamsPerBand-v1710 SharedSpectrumChAccessParamsPerBand-v1710    OPTIONAL,
    -- R4 25-2: Parallel measurements on cells belonging to a different NGSO satellite than a serving satellite without scheduling restrictions
    -- on normal operations with the serving cell
    parallelMeasurementWithoutRestriction-r17 ENUMERATED {supported}                       OPTIONAL,
    -- R4 25-5: Parallel measurements on multiple NGSO satellites within a SMTC
    maxNumber-NGSO-SatellitesWithinOneSMTC-r17 ENUMERATED {n1, n2, n3, n4}                 OPTIONAL,
    -- R1 26-10: K1 range extension
    k1-RangeExtension-r17                     ENUMERATED {supported}                       OPTIONAL,
    -- R1 35-1: Aperiodic CSI-RS for tracking for fast SCell activation
    aperiodicCSI-RS-FastScellActivation-r17   SEQUENCE {
        maxNumberAperiodicCSI-RS-PerCC-r17        ENUMERATED {n8, n16, n32, n48, n64, n128, n255},
        maxNumberAperiodicCSI-RS-AcrossCCs-r17    ENUMERATED {n8, n16, n32, n64, n128, n256, n512, n1024}
    }                                                                                      OPTIONAL,
    -- R1 35-2: Aperiodic CSI-RS bandwidth for tracking for fast SCell activation for 10MHz UE channel bandwidth
    aperiodicCSI-RS-AdditionalBandwidth-r17   ENUMERATED {addBW-Set1, addBW-Set2}          OPTIONAL,
    -- R1 28-1a: RRC-configured DL BWP without CD-SSB or NCD-SSB
    bwp-WithoutCD-SSB-OrNCD-SSB-RedCap-r17    ENUMERATED {supported}                       OPTIONAL,
    -- R1 28-3: Half-duplex FDD operation type A for RedCap UE
    halfDuplexFDD-TypeA-RedCap-r17            ENUMERATED {supported}                       OPTIONAL,
     -- R1 27-15b: Positioning SRS transmission in RRC_INACTIVE state configured outside initial UL BWP
    posSRS-RRC-Inactive-OutsideInitialUL-BWP-r17 PosSRS-RRC-Inactive-OutsideInitialUL-BWP-r17 OPTIONAL,
     -- R4 15-3 UE support of CBW for 480kHz SCS
    channelBWs-DL-SCS-480kHz-FR2-2-r17        BIT STRING (SIZE (8))                        OPTIONAL,
    channelBWs-UL-SCS-480kHz-FR2-2-r17        BIT STRING (SIZE (8))                        OPTIONAL,
    -- R4 15-4 UE support of CBW for 960kHz SCS
    channelBWs-DL-SCS-960kHz-FR2-2-r17        BIT STRING (SIZE (8))                        OPTIONAL,
    channelBWs-UL-SCS-960kHz-FR2-2-r17        BIT STRING (SIZE (8))                        OPTIONAL,
    -- R4 17-1 UL gap for Tx power management
    ul-GapFR2-r17                             ENUMERATED {supported}                       OPTIONAL,
    -- R1 25-4: One-shot HARQ ACK feedback triggered by DCI format 1_2
    oneShotHARQ-feedbackTriggeredByDCI-1-2-r17 ENUMERATED {supported}                      OPTIONAL,
    -- R1 25-5: PHY priority handling for one-shot HARQ ACK feedback
    oneShotHARQ-feedbackPhy-Priority-r17      ENUMERATED {supported}                       OPTIONAL,
    -- R1 25-6: Enhanced type 3 HARQ-ACK codebook feedback
    enhancedType3-HARQ-CodebookFeedback-r17   SEQUENCE {
        enhancedType3-HARQ-Codebooks-r17          ENUMERATED {n1, n2, n4, n8},
        maxNumberPUCCH-Transmissions-r17          ENUMERATED {n1, n2, n3, n4, n5, n6, n7}
    }                                                                                      OPTIONAL,
    -- R1 25-7: Triggered HARQ-ACK codebook re-transmission
    triggeredHARQ-CodebookRetx-r17              SEQUENCE {
        minHARQ-Retx-Offset-r17                     ENUMERATED {n-7, n-5, n-3, n-1, n1},
        maxHARQ-Retx-Offset-r17                     ENUMERATED {n4, n6, n8, n10, n12, n14, n16, n18, n20, n22, n24}
    }                                                                                      OPTIONAL
    ]],
    [[
    -- R4 22-2 support of one shot large UL timing adjustment
    ue-OneShotUL-TimingAdj-r17                        ENUMERATED {supported}               OPTIONAL,
    -- R1 25-2: Repetitions for PUCCH format 0, and 2 over multiple slots with K = 2, 4, 8
    pucch-Repetition-F0-2-r17                         ENUMERATED {supported}               OPTIONAL,
    -- R1 25-11a: 4-bits subband CQI for NTN and unlicensed
    cqi-4-BitsSubbandNTN-SharedSpectrumChAccess-r17   ENUMERATED {supported}               OPTIONAL,
    -- R1 25-16: HARQ-ACK with different priorities multiplexing on a PUCCH/PUSCH
    mux-HARQ-ACK-DiffPriorities-r17                   ENUMERATED {supported}               OPTIONAL,
    -- R1 25-20a: Propagation delay compensation based on legacy TA procedure for NTN and unlicensed
    ta-BasedPDC-NTN-SharedSpectrumChAccess-r17        ENUMERATED {supported}               OPTIONAL,
    -- R1 33-2b: DCI-based enabling/disabling ACK/NACK-based feedback for dynamic scheduling for multicast
    ack-NACK-FeedbackForMulticastWithDCI-Enabler-r17  ENUMERATED {supported}               OPTIONAL,
    -- R1 33-2e: Multiple G-RNTIs for group-common PDSCHs
    maxNumberG-RNTI-r17                               INTEGER (2..8)                       OPTIONAL,
    -- R1 33-2f: Dynamic multicast with DCI format 4_2
    dynamicMulticastDCI-Format4-2-r17                 ENUMERATED {supported}               OPTIONAL,
    -- R1 33-2i: Supported maximal modulation order for multicast PDSCH
    maxModulationOrderForMulticast-r17                CHOICE {
        fr1-r17                                           ENUMERATED {qam256, qam1024},
        fr2-r17                                           ENUMERATED {qam64, qam256}
    }                                                                                                                          OPTIONAL,
    -- R1 33-3-1: Dynamic Slot-level repetition for group-common PDSCH for TN and licensed
    dynamicSlotRepetitionMulticastTN-NonSharedSpectrumChAccess-r17  ENUMERATED {n8, n16}                                       OPTIONAL,
    -- R1 33-3-1a: Dynamic Slot-level repetition for group-common PDSCH for NTN and unlicensed
    dynamicSlotRepetitionMulticastNTN-SharedSpectrumChAccess-r17    ENUMERATED {n8, n16}                                       OPTIONAL,
    -- R1 33-4-1: DCI-based enabling/disabling NACK-only based feedback for dynamic scheduling for multicast
    nack-OnlyFeedbackForMulticastWithDCI-Enabler-r17                ENUMERATED {supported}                                     OPTIONAL,
    -- R1 33-5-1b: DCI-based enabling/disabling ACK/NACK-based feedback for dynamic scheduling for multicast
    ack-NACK-FeedbackForSPS-MulticastWithDCI-Enabler-r17            ENUMERATED {supported}                                     OPTIONAL,
    -- R1 33-5-1h: Multiple G-CS-RNTIs for SPS group-common PDSCHs
    maxNumberG-CS-RNTI-r17                                          INTEGER (2..8)                                             OPTIONAL,
    -- R1 33-10: Support group-common PDSCH RE-level rate matching for multicast
    re-LevelRateMatchingForMulticast-r17                            ENUMERATED {supported}                                     OPTIONAL,
     -- R1 36-1a: Support of 1024QAM for PDSCH with maximum 2 MIMO layers for FR1
    pdsch-1024QAM-2MIMO-FR1-r17                                     ENUMERATED {supported}                                     OPTIONAL,
     -- R4 14-3 PRS measurement without MG
    prs-MeasurementWithoutMG-r17                                    ENUMERATED {cpLength, quarterSymbol, halfSymbol, halfSlot} OPTIONAL,
    -- R4 25-7: The number of target LEO satellites the UE can monitor per carrier
    maxNumber-LEO-SatellitesPerCarrier-r17                          INTEGER (3..4)                                             OPTIONAL,
    -- R1 27-3-3 DL PRS Processing Capability outside MG - buffering capability
    prs-ProcessingCapabilityOutsideMGinPPW-r17    SEQUENCE (SIZE(1..3)) OF PRS-ProcessingCapabilityOutsideMGinPPWperType-r17   OPTIONAL,
    -- R1 27-15a: Positioning SRS transmission in RRC_INACTIVE state for initial UL BWP with semi-persistent SRS
    srs-SemiPersistent-PosResourcesRRC-Inactive-r17                 SEQUENCE {
        maxNumOfSemiPersistentSRSposResources-r17                       ENUMERATED {n1, n2, n4, n8, n16, n32, n64},
        maxNumOfSemiPersistentSRSposResourcesPerSlot-r17                ENUMERATED {n1, n2, n3, n4, n5, n6, n8, n10, n12, n14}
    }                                                                                                                          OPTIONAL,
    -- R2: UE support of CBW for 120kHz SCS
    channelBWs-DL-SCS-120kHz-FR2-2-r17                              BIT STRING (SIZE (8))                                      OPTIONAL,
    channelBWs-UL-SCS-120kHz-FR2-2-r17                              BIT STRING (SIZE (8))                                      OPTIONAL
    ]],
    [[
    -- R1 30-4a: DM-RS bundling for PUSCH repetition type A
    dmrs-BundlingPUSCH-RepTypeA-r17                                 ENUMERATED {supported}                                     OPTIONAL,
    -- R1 30-4b: DM-RS bundling for PUSCH repetition type B
    dmrs-BundlingPUSCH-RepTypeB-r17                                 ENUMERATED {supported}                                     OPTIONAL,
    -- R1 30-4c: DM-RS bundling for TB processing over multi-slot PUSCH
    dmrs-BundlingPUSCH-multiSlot-r17                                ENUMERATED {supported}                                     OPTIONAL,
    -- R1 30-4d: DMRS bundling for PUCCH repetitions
    dmrs-BundlingPUCCH-Rep-r17                                      ENUMERATED {supported}                                     OPTIONAL,
    -- R1 30-4e: Enhanced inter-slot frequency hopping with inter-slot bundling for PUSCH
    interSlotFreqHopInterSlotBundlingPUSCH-r17                      ENUMERATED {supported}                                     OPTIONAL,
    -- R1 30-4f: Enhanced inter-slot frequency hopping for PUCCH repetitions with DMRS bundling
    interSlotFreqHopPUCCH-r17                                       ENUMERATED {supported}                                     OPTIONAL,
    -- R1 30-4g: Restart DM-RS bundling
    dmrs-BundlingRestart-r17                                        ENUMERATED {supported}                                     OPTIONAL,
    -- R1 30-4h: DM-RS bundling for non-back-to-back transmission
    dmrs-BundlingNonBackToBackTX-r17                                ENUMERATED {supported}                                     OPTIONAL
    ]],
    [[
    -- R1 33-5-1e: Dynamic Slot-level repetition for SPS group-common PDSCH for multicast
    maxDynamicSlotRepetitionForSPS-Multicast-r17                    ENUMERATED {n8, n16}                                       OPTIONAL,
    -- R1 33-5-1g: DCI-based enabling/disabling NACK-only based feedback for SPS group-common PDSCH for multicast
    nack-OnlyFeedbackForSPS-MulticastWithDCI-Enabler-r17            ENUMERATED {supported}                                     OPTIONAL,
    -- R1 33-5-1i: Multicast SPS scheduling with DCI format 4_2
    sps-MulticastDCI-Format4-2-r17                                  ENUMERATED {supported}                                     OPTIONAL,
    -- R1 33-5-2: Multiple SPS group-common PDSCH configuration on PCell
    sps-MulticastMultiConfig-r17                                    INTEGER (1..8)                                             OPTIONAL,
    -- R1 33-6-1: DL priority indication for multicast in DCI
    priorityIndicatorInDCI-Multicast-r17                            ENUMERATED {supported}                                     OPTIONAL,
    -- R1 33-6-1a: DL priority configuration for SPS multicast
    priorityIndicatorInDCI-SPS-Multicast-r17                        ENUMERATED {supported}                                     OPTIONAL,
    -- R1 33-6-2: Two HARQ-ACK codebooks simultaneously constructed for supporting HARQ-ACK codebooks with different priorities
    -- for unicast and multicast at a UE
    twoHARQ-ACK-CodebookForUnicastAndMulticast-r17                  ENUMERATED {supported}                                     OPTIONAL,
    -- R1 33-6-3: More than one PUCCH for HARQ-ACK transmission for multicast or for unicast and multicast within a slot
    multiPUCCH-HARQ-ACK-ForMulticastUnicast-r17                     ENUMERATED {supported}                                     OPTIONAL,
    -- R1 33-9: Supporting unicast PDCCH to release SPS group-common PDSCH
    releaseSPS-MulticastWithCS-RNTI-r17                             ENUMERATED {supported}                                     OPTIONAL
    ]]
}

BandNR-v16c0 ::=                                                SEQUENCE {
    pusch-RepetitionTypeA-v16c0                                     ENUMERATED {supported}                                     OPTIONAL,
    ...
}

-- TAG-RF-PARAMETERS-STOP
-- ASN1STOP

-- ASN1START

-- TAG-RF-PARAMETERSMRDC-START

RF-ParametersMRDC ::=                   SEQUENCE {
    supportedBandCombinationList            BandCombinationList                             OPTIONAL,
    appliedFreqBandListFilter               FreqBandList                                    OPTIONAL,
    ...,
    [[
    srs-SwitchingTimeRequested              ENUMERATED {true}                               OPTIONAL,
    supportedBandCombinationList-v1540      BandCombinationList-v1540                       OPTIONAL
    ]],
    [[
    supportedBandCombinationList-v1550      BandCombinationList-v1550                       OPTIONAL
    ]],
    [[
    supportedBandCombinationList-v1560      BandCombinationList-v1560                       OPTIONAL,
    supportedBandCombinationListNEDC-Only   BandCombinationList                             OPTIONAL
    ]],
    [[
    supportedBandCombinationList-v1570      BandCombinationList-v1570                       OPTIONAL
    ]],
    [[
    supportedBandCombinationList-v1580      BandCombinationList-v1580                       OPTIONAL
    ]],
    [[
    supportedBandCombinationList-v1590      BandCombinationList-v1590                       OPTIONAL
    ]],
    [[
    supportedBandCombinationListNEDC-Only-v15a0    SEQUENCE {
        supportedBandCombinationList-v1540      BandCombinationList-v1540                   OPTIONAL,
        supportedBandCombinationList-v1560      BandCombinationList-v1560                   OPTIONAL,
        supportedBandCombinationList-v1570      BandCombinationList-v1570                   OPTIONAL,
        supportedBandCombinationList-v1580      BandCombinationList-v1580                   OPTIONAL,
        supportedBandCombinationList-v1590      BandCombinationList-v1590                   OPTIONAL
    }                                                                                       OPTIONAL
    ]],
    [[
    supportedBandCombinationList-v1610      BandCombinationList-v1610                       OPTIONAL,
    supportedBandCombinationListNEDC-Only-v1610   BandCombinationList-v1610                 OPTIONAL,
    supportedBandCombinationList-UplinkTxSwitch-r16 BandCombinationList-UplinkTxSwitch-r16  OPTIONAL
    ]],
    [[
    supportedBandCombinationList-v1630                  BandCombinationList-v1630                   OPTIONAL,
    supportedBandCombinationListNEDC-Only-v1630         BandCombinationList-v1630                   OPTIONAL,
    supportedBandCombinationList-UplinkTxSwitch-v1630   BandCombinationList-UplinkTxSwitch-v1630    OPTIONAL
    ]],
    [[
    supportedBandCombinationList-v1640                  BandCombinationList-v1640                   OPTIONAL,
    supportedBandCombinationListNEDC-Only-v1640         BandCombinationList-v1640                   OPTIONAL,
    supportedBandCombinationList-UplinkTxSwitch-v1640   BandCombinationList-UplinkTxSwitch-v1640    OPTIONAL
    ]],
    [[
    supportedBandCombinationList-UplinkTxSwitch-v1670   BandCombinationList-UplinkTxSwitch-v1670    OPTIONAL
    ]],
    [[
    supportedBandCombinationList-v1700                  BandCombinationList-v1700                   OPTIONAL,
    supportedBandCombinationList-UplinkTxSwitch-v1700   BandCombinationList-UplinkTxSwitch-v1700    OPTIONAL
    ]],
    [[
    supportedBandCombinationList-v1720                  BandCombinationList-v1720                   OPTIONAL,
    supportedBandCombinationListNEDC-Only-v1720         SEQUENCE {
        supportedBandCombinationList-v1700                  BandCombinationList-v1700               OPTIONAL,
        supportedBandCombinationList-v1720                  BandCombinationList-v1720               OPTIONAL
    }                                                                                               OPTIONAL,
    supportedBandCombinationList-UplinkTxSwitch-v1720   BandCombinationList-UplinkTxSwitch-v1720    OPTIONAL
    ]],
    [[
    supportedBandCombinationList-v1730                  BandCombinationList-v1730                   OPTIONAL,
    supportedBandCombinationListNEDC-Only-v1730         BandCombinationList-v1730                   OPTIONAL,
    supportedBandCombinationList-UplinkTxSwitch-v1730   BandCombinationList-UplinkTxSwitch-v1730    OPTIONAL
    ]],
    [[
    supportedBandCombinationList-v1740                  BandCombinationList-v1740                   OPTIONAL,
    supportedBandCombinationListNEDC-Only-v1740         BandCombinationList-v1740                   OPTIONAL,
    supportedBandCombinationList-UplinkTxSwitch-v1740   BandCombinationList-UplinkTxSwitch-v1740    OPTIONAL
    ]]
}

RF-ParametersMRDC-v15g0 ::=                    SEQUENCE {
    supportedBandCombinationList-v15g0             BandCombinationList-v15g0        OPTIONAL,
    supportedBandCombinationListNEDC-Only-v15g0    BandCombinationList-v15g0        OPTIONAL
}

-- TAG-RF-PARAMETERSMRDC-STOP
-- ASN1STOP

-- ASN1START

-- TAG-RLC-PARAMETERS-START

RLC-Parameters ::= SEQUENCE {
    am-WithShortSN                  ENUMERATED {supported}  OPTIONAL,
    um-WithShortSN                  ENUMERATED {supported}  OPTIONAL,
    um-WithLongSN                   ENUMERATED {supported}  OPTIONAL,
    ...,
    [[
    extendedT-PollRetransmit-r16    ENUMERATED {supported}  OPTIONAL,
    extendedT-StatusProhibit-r16    ENUMERATED {supported}  OPTIONAL
    ]],
    [[
    am-WithLongSN-RedCap-r17        ENUMERATED {supported}  OPTIONAL
    ]]
}

-- TAG-RLC-PARAMETERS-STOP
-- ASN1STOP

-- ASN1START

-- TAG-SDAP-PARAMETERS-START

SDAP-Parameters ::= SEQUENCE {
    as-ReflectiveQoS                 ENUMERATED {true}               OPTIONAL,
    ...,
    [[
    sdap-QOS-IAB-r16              ENUMERATED {supported}       OPTIONAL,
    sdapHeaderIAB-r16             ENUMERATED {supported}       OPTIONAL
    ]]

}

-- TAG-SDAP-PARAMETERS-STOP
-- ASN1STOP

-- ASN1START

-- TAG-SIDELINKPARAMETERS-START

SidelinkParameters-r16 ::=    SEQUENCE {
    sidelinkParametersNR-r16                  SidelinkParametersNR-r16                                                  OPTIONAL,
    sidelinkParametersEUTRA-r16               SidelinkParametersEUTRA-r16                                               OPTIONAL
}

SidelinkParametersNR-r16 ::= SEQUENCE {
    rlc-ParametersSidelink-r16                RLC-ParametersSidelink-r16                                                OPTIONAL,
    mac-ParametersSidelink-r16                MAC-ParametersSidelink-r16                                                OPTIONAL,
    fdd-Add-UE-Sidelink-Capabilities-r16      UE-SidelinkCapabilityAddXDD-Mode-r16                                      OPTIONAL,
    tdd-Add-UE-Sidelink-Capabilities-r16      UE-SidelinkCapabilityAddXDD-Mode-r16                                      OPTIONAL,
    supportedBandListSidelink-r16             SEQUENCE (SIZE (1..maxBands)) OF BandSidelink-r16                         OPTIONAL,
    ...,
    [[
    relayParameters-r17                       RelayParameters-r17                                                       OPTIONAL
    ]],
    [[
    -- R1 32-x: Use of new P0 parameters for open loop power control
    p0-OLPC-Sidelink-r17                      ENUMERATED {supported}                                                    OPTIONAL
    ]]
}

SidelinkParametersEUTRA-r16 ::= SEQUENCE {
    sl-ParametersEUTRA1-r16                   OCTET STRING                                                              OPTIONAL,
    sl-ParametersEUTRA2-r16                   OCTET STRING                                                              OPTIONAL,
    sl-ParametersEUTRA3-r16                   OCTET STRING                                                              OPTIONAL,
    supportedBandListSidelinkEUTRA-r16        SEQUENCE (SIZE (1..maxBandsEUTRA)) OF BandSidelinkEUTRA-r16               OPTIONAL,
    ...
}

RLC-ParametersSidelink-r16 ::= SEQUENCE {
    am-WithLongSN-Sidelink-r16                ENUMERATED {supported}                                                    OPTIONAL,
    um-WithLongSN-Sidelink-r16                ENUMERATED {supported}                                                    OPTIONAL,
    ...
}

MAC-ParametersSidelink-r16 ::= SEQUENCE {
    mac-ParametersSidelinkCommon-r16          MAC-ParametersSidelinkCommon-r16                                          OPTIONAL,
    mac-ParametersSidelinkXDD-Diff-r16        MAC-ParametersSidelinkXDD-Diff-r16                                        OPTIONAL,
    ...
}

UE-SidelinkCapabilityAddXDD-Mode-r16 ::=  SEQUENCE {
    mac-ParametersSidelinkXDD-Diff-r16        MAC-ParametersSidelinkXDD-Diff-r16                                        OPTIONAL
}

MAC-ParametersSidelinkCommon-r16 ::= SEQUENCE {
    lcp-RestrictionSidelink-r16               ENUMERATED {supported}                                                    OPTIONAL,
    multipleConfiguredGrantsSidelink-r16      ENUMERATED {supported}                                                    OPTIONAL,
    ...,
    [[
    drx-OnSidelink-r17                        ENUMERATED {supported}                                                    OPTIONAL
    ]]
}

MAC-ParametersSidelinkXDD-Diff-r16 ::=  SEQUENCE {
    multipleSR-ConfigurationsSidelink-r16     ENUMERATED {supported}                                                    OPTIONAL,
    logicalChannelSR-DelayTimerSidelink-r16   ENUMERATED {supported}                                                    OPTIONAL,
    ...
}

BandSidelinkEUTRA-r16 ::=               SEQUENCE {
    freqBandSidelinkEUTRA-r16               FreqBandIndicatorEUTRA,
    -- R1 15-7: Transmitting LTE sidelink mode 3 scheduled by NR Uu
    gnb-ScheduledMode3SidelinkEUTRA-r16     SEQUENCE {
        gnb-ScheduledMode3DelaySidelinkEUTRA-r16 ENUMERATED {ms0, ms0dot25, ms0dot5, ms0dot625, ms0dot75, ms1,
                                                             ms1dot25, ms1dot5, ms1dot75, ms2, ms2dot5, ms3, ms4,
                                                             ms5, ms6, ms8, ms10, ms20}
    }                                                                                                                   OPTIONAL,
    -- R1 15-9: Transmitting LTE sidelink mode 4 configured by NR Uu
    gnb-ScheduledMode4SidelinkEUTRA-r16     ENUMERATED {supported}                                                      OPTIONAL
}

BandSidelink-r16 ::=  SEQUENCE {
    freqBandSidelink-r16                          FreqBandIndicatorNR,
    --15-1
    sl-Reception-r16                              SEQUENCE {
        harq-RxProcessSidelink-r16                    ENUMERATED {n16, n24, n32, n48, n64},
        pscch-RxSidelink-r16                          ENUMERATED {value1, value2},
        scs-CP-PatternRxSidelink-r16                  CHOICE {
            fr1-r16                                       SEQUENCE {
                scs-15kHz-r16                                 BIT STRING (SIZE (16))                OPTIONAL,
                scs-30kHz-r16                                 BIT STRING (SIZE (16))                OPTIONAL,
                scs-60kHz-r16                                 BIT STRING (SIZE (16))                OPTIONAL
            },
            fr2-r16                                       SEQUENCE {
                scs-60kHz-r16                                 BIT STRING (SIZE (16))                OPTIONAL,
                scs-120kHz-r16                                BIT STRING (SIZE (16))                OPTIONAL
            }
        }                                                                                           OPTIONAL,
        extendedCP-RxSidelink-r16                     ENUMERATED {supported}                        OPTIONAL
    }                                                                                               OPTIONAL,
    --15-2
    sl-TransmissionMode1-r16                      SEQUENCE {
        harq-TxProcessModeOneSidelink-r16             ENUMERATED {n8, n16},
        scs-CP-PatternTxSidelinkModeOne-r16           CHOICE {
            fr1-r16                                       SEQUENCE {
                scs-15kHz-r16                                 BIT STRING (SIZE (16))                OPTIONAL,
                scs-30kHz-r16                                 BIT STRING (SIZE (16))                OPTIONAL,
                scs-60kHz-r16                                 BIT STRING (SIZE (16))                OPTIONAL
            },
            fr2-r16                                       SEQUENCE {
                scs-60kHz-r16                                 BIT STRING (SIZE (16))                OPTIONAL,
                scs-120kHz-r16                                BIT STRING (SIZE (16))                OPTIONAL
            }
        },
        extendedCP-TxSidelink-r16                     ENUMERATED {supported}                        OPTIONAL,
        harq-ReportOnPUCCH-r16                        ENUMERATED {supported}                        OPTIONAL
    }                                                                                               OPTIONAL,
    --15-4
    sync-Sidelink-r16                             SEQUENCE {
        gNB-Sync-r16                                  ENUMERATED {supported}                        OPTIONAL,
        gNB-GNSS-UE-SyncWithPriorityOnGNB-ENB-r16     ENUMERATED {supported}                        OPTIONAL,
        gNB-GNSS-UE-SyncWithPriorityOnGNSS-r16        ENUMERATED {supported}                        OPTIONAL
    }                                                                                               OPTIONAL,
    --15-10
    sl-Tx-256QAM-r16                              ENUMERATED {supported}                            OPTIONAL,
    --15-11
    psfch-FormatZeroSidelink-r16                  SEQUENCE {
        psfch-RxNumber                                ENUMERATED {n5, n15, n25, n32, n35, n45, n50, n64},
        psfch-TxNumber                                ENUMERATED {n4, n8, n16}
    }                                                                                               OPTIONAL,
    --15-12
    lowSE-64QAM-MCS-TableSidelink-r16             ENUMERATED {supported}                            OPTIONAL,
    --15-15
    enb-sync-Sidelink-r16                         ENUMERATED {supported}                            OPTIONAL,
    ...,
    [[
    --15-3
    sl-TransmissionMode2-r16                      SEQUENCE {
        harq-TxProcessModeTwoSidelink-r16              ENUMERATED {n8, n16},
        scs-CP-PatternTxSidelinkModeTwo-r16           ENUMERATED {supported}                        OPTIONAL,
        dl-openLoopPC-Sidelink-r16                    ENUMERATED {supported}                        OPTIONAL
    }                                                                                               OPTIONAL,
    --15-5
    congestionControlSidelink-r16                 SEQUENCE {
        cbr-ReportSidelink-r16                        ENUMERATED {supported}                        OPTIONAL,
        cbr-CR-TimeLimitSidelink-r16                  ENUMERATED {time1, time2}
    }                                                                                               OPTIONAL,
    --15-22
    fewerSymbolSlotSidelink-r16                   ENUMERATED {supported}                            OPTIONAL,
    --15-23
    sl-openLoopPC-RSRP-ReportSidelink-r16         ENUMERATED {supported}                            OPTIONAL,
    --13-1
    sl-Rx-256QAM-r16                              ENUMERATED {supported}                            OPTIONAL
    ]],
    [[
    ue-PowerClassSidelink-r16                         ENUMERATED {pc2, pc3, spare6, spare5, spare4, spare3, spare2, spare1}
                                                                                                                     OPTIONAL
    ]],
    [[
    --32-4a
    sl-TransmissionMode2-RandomResourceSelection-r17 SEQUENCE {
        harq-TxProcessModeTwoSidelink-r17             ENUMERATED {n8, n16},
        scs-CP-PatternTxSidelinkModeTwo-r17               CHOICE {
            fr1-r17                                           SEQUENCE {
                scs-15kHz-r17                                     BIT STRING (SIZE (16))            OPTIONAL,
                scs-30kHz-r17                                     BIT STRING (SIZE (16))            OPTIONAL,
                scs-60kHz-r17                                     BIT STRING (SIZE (16))            OPTIONAL
            },
            fr2-r17                                           SEQUENCE {
                scs-60kHz-r17                                     BIT STRING (SIZE (16))            OPTIONAL,
                scs-120kHz-r17                                    BIT STRING (SIZE (16))            OPTIONAL
            }
        }                                                                                           OPTIONAL,
        extendedCP-Mode2Random-r17                    ENUMERATED {supported}                        OPTIONAL,
        dl-openLoopPC-Sidelink-r17                    ENUMERATED {supported}                            OPTIONAL
    }                                                                                               OPTIONAL,
    --32-4b
    sync-Sidelink-v1710                           SEQUENCE {
        sync-GNSS-r17                                 ENUMERATED {supported}                        OPTIONAL,
        gNB-Sync-r17                                  ENUMERATED {supported}                        OPTIONAL,
        gNB-GNSS-UE-SyncWithPriorityOnGNB-ENB-r17     ENUMERATED {supported}                        OPTIONAL,
        gNB-GNSS-UE-SyncWithPriorityOnGNSS-r17        ENUMERATED {supported}                        OPTIONAL
    }                                                                                               OPTIONAL,
    --32-4c
    enb-sync-Sidelink-v1710                       ENUMERATED {supported}                            OPTIONAL,
    --32-5a-2
    rx-IUC-Scheme1-PreferredMode2Sidelink-r17     ENUMERATED {supported}                            OPTIONAL,
    --32-5a-3
    rx-IUC-Scheme1-NonPreferredMode2Sidelink-r17  ENUMERATED {supported}                            OPTIONAL,
    --32-5b-2
    rx-IUC-Scheme2-Mode2Sidelink-r17              ENUMERATED {n5, n15, n25, n32, n35, n45, n50, n64} OPTIONAL,
    --32-6-1
    rx-IUC-Scheme1-SCI-r17                        ENUMERATED {supported}                            OPTIONAL,
    --32-6-2
    rx-IUC-Scheme1-SCI-ExplicitReq-r17            ENUMERATED {supported}                            OPTIONAL
    ]]
}

RelayParameters-r17 ::= SEQUENCE {
    relayUE-Operation-L2-r17                         ENUMERATED {supported}                                 OPTIONAL,
    remoteUE-Operation-L2-r17                        ENUMERATED {supported}                                 OPTIONAL,
    remoteUE-PathSwitchToIdleInactiveRelay-r17    ENUMERATED {supported}                                 OPTIONAL,
    ...
}

-- TAG-SIDELINKPARAMETERS-STOP
-- ASN1STOP

-- ASN1START

-- TAG-SIMULTANEOUSRXTXPERBANDPAIR-START

SimultaneousRxTxPerBandPair ::=             BIT STRING (SIZE (3..496))

-- TAG-SIMULTANEOUSRXTXPERBANDPAIR-STOP
-- ASN1STOP

-- ASN1START

-- TAG-SON-PARAMETERS-START

SON-Parameters-r16 ::= SEQUENCE {
    rach-Report-r16        ENUMERATED {supported}    OPTIONAL,
    ...,
    [[
    rlfReportCHO-r17       ENUMERATED {supported}    OPTIONAL,
    rlfReportDAPS-r17      ENUMERATED {supported}    OPTIONAL,
    success-HO-Report-r17  ENUMERATED {supported}    OPTIONAL,
    twoStepRACH-Report-r17 ENUMERATED {supported}    OPTIONAL,
    pscell-MHI-Report-r17  ENUMERATED {supported}    OPTIONAL,
    onDemandSI-Report-r17  ENUMERATED {supported}    OPTIONAL
    ]]
}

-- TAG-SON-PARAMETERS-STOP
-- ASN1STOP

-- ASN1START

-- TAG-SPATIALRELATIONSSRS-POS-START

SpatialRelationsSRS-Pos-r16 ::=                    SEQUENCE {
    spatialRelation-SRS-PosBasedOnSSB-Serving-r16      ENUMERATED {supported}                OPTIONAL,
    spatialRelation-SRS-PosBasedOnCSI-RS-Serving-r16   ENUMERATED {supported}                OPTIONAL,
    spatialRelation-SRS-PosBasedOnPRS-Serving-r16      ENUMERATED {supported}                OPTIONAL,
    spatialRelation-SRS-PosBasedOnSRS-r16              ENUMERATED {supported}                OPTIONAL,
    spatialRelation-SRS-PosBasedOnSSB-Neigh-r16        ENUMERATED {supported}                OPTIONAL,
    spatialRelation-SRS-PosBasedOnPRS-Neigh-r16        ENUMERATED {supported}                OPTIONAL
}

--TAG-SPATIALRELATIONSSRS-POS-STOP
-- ASN1STOP

-- ASN1START

-- TAG-SRS-ALLPOSRESOURCESRRC-INACTIVE-START

SRS-AllPosResourcesRRC-Inactive-r17 ::=             SEQUENCE {
    srs-PosResourcesRRC-Inactive-r17                    SEQUENCE {
    -- R1 27-15: Positioning SRS transmission in RRC_INACTIVE state for initial UL BWP
        maxNumberSRS-PosResourceSetPerBWP-r17               ENUMERATED {n1, n2, n4, n8, n12, n16},
        maxNumberSRS-PosResourcesPerBWP-r17                 ENUMERATED {n1, n2, n4, n8, n16, n32, n64},
        maxNumberSRS-ResourcesPerBWP-PerSlot-r17            ENUMERATED {n1, n2, n3, n4, n5, n6, n8, n10, n12, n14},
        maxNumberPeriodicSRS-PosResourcesPerBWP-r17         ENUMERATED {n1, n2, n4, n8, n16, n32, n64},
        maxNumberPeriodicSRS-PosResourcesPerBWP-PerSlot-r17 ENUMERATED {n1, n2, n3, n4, n5, n6, n8, n10, n12, n14},
        dummy1                                              ENUMERATED {n1, n2, n4, n8, n16, n32, n64 },
        dummy2                                              ENUMERATED {n1, n2, n3, n4, n5, n6, n8, n10, n12, n14}
    }
}

-- TAG-SRS-ALLPOSRESOURCESRRC-INACTIVE-STOP
-- ASN1STOP

-- ASN1START

-- TAG-SRS-SWITCHINGTIMENR-START

SRS-SwitchingTimeNR ::= SEQUENCE {
    switchingTimeDL         ENUMERATED {n0us, n30us, n100us, n140us, n200us, n300us, n500us, n900us}  OPTIONAL,
    switchingTimeUL         ENUMERATED {n0us, n30us, n100us, n140us, n200us, n300us, n500us, n900us}  OPTIONAL
}

-- TAG-SRS-SWITCHINGTIMENR-STOP
-- ASN1STOP

-- ASN1START

-- TAG-SRS-SWITCHINGTIMEEUTRA-START

SRS-SwitchingTimeEUTRA ::= SEQUENCE {
    switchingTimeDL            ENUMERATED {n0, n0dot5, n1, n1dot5, n2, n2dot5, n3, n3dot5, n4, n4dot5, n5, n5dot5, n6, n6dot5, n7}
                                                                                               OPTIONAL,
    switchingTimeUL            ENUMERATED {n0, n0dot5, n1, n1dot5, n2, n2dot5, n3, n3dot5, n4, n4dot5, n5, n5dot5, n6, n6dot5, n7}
                                                                                               OPTIONAL
}
-- TAG-SRS-SWITCHINGTIMEEUTRA-STOP
-- ASN1STOP

-- ASN1START

-- TAG-SUPPORTEDBANDWIDTH-START

SupportedBandwidth ::=      CHOICE {
    fr1                         ENUMERATED {mhz5, mhz10, mhz15, mhz20, mhz25, mhz30, mhz40, mhz50, mhz60, mhz80, mhz100},
    fr2                         ENUMERATED {mhz50, mhz100, mhz200, mhz400}
}

SupportedBandwidth-v1700 ::= CHOICE {
    fr1-r17    ENUMERATED {mhz5, mhz10, mhz15, mhz20, mhz25, mhz30, mhz35, mhz40, mhz45, mhz50, mhz60, mhz70, mhz80, mhz90, mhz100},
    fr2-r17    ENUMERATED {mhz50, mhz100, mhz200, mhz400, mhz800, mhz1600, mhz2000}
}

-- TAG-SUPPORTEDBANDWIDTH-STOP
-- ASN1STOP

-- ASN1START

-- TAG-UE-BASEDPERFMEAS-PARAMETERS-START

UE-BasedPerfMeas-Parameters-r16 ::= SEQUENCE {
    barometerMeasReport-r16      ENUMERATED {supported}        OPTIONAL,
    immMeasBT-r16                ENUMERATED {supported}        OPTIONAL,
    immMeasWLAN-r16              ENUMERATED {supported}        OPTIONAL,
    loggedMeasBT-r16             ENUMERATED {supported}        OPTIONAL,
    loggedMeasurements-r16       ENUMERATED {supported}        OPTIONAL,
    loggedMeasWLAN-r16           ENUMERATED {supported}        OPTIONAL,
    orientationMeasReport-r16    ENUMERATED {supported}        OPTIONAL,
    speedMeasReport-r16          ENUMERATED {supported}        OPTIONAL,
    gnss-Location-r16            ENUMERATED {supported}        OPTIONAL,
    ulPDCP-Delay-r16             ENUMERATED {supported}        OPTIONAL,
    ...,
    [[
    sigBasedLogMDT-OverrideProtect-r17 ENUMERATED {supported}  OPTIONAL,
    multipleCEF-Report-r17             ENUMERATED {supported}  OPTIONAL,
    excessPacketDelay-r17              ENUMERATED {supported}  OPTIONAL,
    earlyMeasLog-r17                   ENUMERATED {supported}  OPTIONAL
    ]]
}

-- TAG-UE-BASEDPERFMEAS-PARAMETERS-STOP
-- ASN1STOP

-- ASN1START

-- TAG-UE-CAPABILITYRAT-CONTAINERLIST-START

UE-CapabilityRAT-ContainerList ::=    SEQUENCE (SIZE (0..maxRAT-CapabilityContainers)) OF UE-CapabilityRAT-Container

UE-CapabilityRAT-Container ::=        SEQUENCE {
    rat-Type                              RAT-Type,
    ue-CapabilityRAT-Container            OCTET STRING
}

-- TAG-UE-CAPABILITYRAT-CONTAINERLIST-STOP
-- ASN1STOP

-- ASN1START

-- TAG-UE-CAPABILITYRAT-REQUESTLIST-START

UE-CapabilityRAT-RequestList ::=        SEQUENCE (SIZE (1..maxRAT-CapabilityContainers)) OF UE-CapabilityRAT-Request

UE-CapabilityRAT-Request ::=            SEQUENCE {
    rat-Type                                RAT-Type,
    capabilityRequestFilter                 OCTET STRING                    OPTIONAL,   -- Need N
    ...
}

-- TAG-UE-CAPABILITYRAT-REQUESTLIST-STOP
-- ASN1STOP

-- ASN1START

-- TAG-UE-CAPABILITYREQUESTFILTERCOMMON-START

UE-CapabilityRequestFilterCommon ::=            SEQUENCE {
    mrdc-Request                                SEQUENCE {
        omitEN-DC                                   ENUMERATED {true}                      OPTIONAL,    -- Need N
        includeNR-DC                                ENUMERATED {true}                      OPTIONAL,    -- Need N
        includeNE-DC                                ENUMERATED {true}                      OPTIONAL     -- Need N
    }                                                                                  OPTIONAL,        -- Need N
    ...,
    [[
    codebookTypeRequest-r16        SEQUENCE {
        type1-SinglePanel-r16          ENUMERATED {true}                                    OPTIONAL,    -- Need N
        type1-MultiPanel-r16           ENUMERATED {true}                                    OPTIONAL,    -- Need N
        type2-r16                      ENUMERATED {true}                                    OPTIONAL,    -- Need N
        type2-PortSelection-r16        ENUMERATED {true}                                    OPTIONAL     -- Need N
    }                                                                                   OPTIONAL,    -- Need N
    uplinkTxSwitchRequest-r16      ENUMERATED {true}                                    OPTIONAL     -- Need N
    ]],
    [[
    requestedCellGrouping-r16      SEQUENCE (SIZE (1..maxCellGroupings-r16)) OF CellGrouping-r16    OPTIONAL    -- Cond NRDC
    ]],
    [[
    fallbackGroupFiveRequest-r17   ENUMERATED {true}                                    OPTIONAL     -- Need N
    ]]
}

CellGrouping-r16 ::=    SEQUENCE {
    mcg-r16                 SEQUENCE (SIZE (1..maxBands)) OF FreqBandIndicatorNR,
    scg-r16                 SEQUENCE (SIZE (1..maxBands)) OF FreqBandIndicatorNR,
    mode-r16                ENUMERATED {sync, async}
}

-- TAG-UE-CAPABILITYREQUESTFILTERCOMMON-STOP
-- ASN1STOP

-- ASN1START

-- TAG-UE-CAPABILITYREQUESTFILTERNR-START

UE-CapabilityRequestFilterNR ::=            SEQUENCE {
    frequencyBandListFilter                     FreqBandList                          OPTIONAL,   -- Need N
    nonCriticalExtension                        UE-CapabilityRequestFilterNR-v1540    OPTIONAL
}

UE-CapabilityRequestFilterNR-v1540 ::=      SEQUENCE {
    srs-SwitchingTimeRequest                    ENUMERATED {true}                     OPTIONAL,  -- Need N
    nonCriticalExtension                        UE-CapabilityRequestFilterNR-v1710    OPTIONAL
}

UE-CapabilityRequestFilterNR-v1710 ::=      SEQUENCE {
    sidelinkRequest-r17                         ENUMERATED {true}                     OPTIONAL,  -- Need N
    nonCriticalExtension                        SEQUENCE {}                           OPTIONAL
}

-- TAG-UE-CAPABILITYREQUESTFILTERNR-STOP
-- ASN1STOP

-- ASN1START

-- TAG-UE-MRDC-CAPABILITY-START

UE-MRDC-Capability ::=              SEQUENCE {
    measAndMobParametersMRDC            MeasAndMobParametersMRDC                                                        OPTIONAL,
    phy-ParametersMRDC-v1530            Phy-ParametersMRDC                                                              OPTIONAL,
    rf-ParametersMRDC                   RF-ParametersMRDC,
    generalParametersMRDC               GeneralParametersMRDC-XDD-Diff                                                  OPTIONAL,
    fdd-Add-UE-MRDC-Capabilities        UE-MRDC-CapabilityAddXDD-Mode                                                   OPTIONAL,
    tdd-Add-UE-MRDC-Capabilities        UE-MRDC-CapabilityAddXDD-Mode                                                   OPTIONAL,
    fr1-Add-UE-MRDC-Capabilities        UE-MRDC-CapabilityAddFRX-Mode                                                   OPTIONAL,
    fr2-Add-UE-MRDC-Capabilities        UE-MRDC-CapabilityAddFRX-Mode                                                   OPTIONAL,
    featureSetCombinations              SEQUENCE (SIZE (1..maxFeatureSetCombinations)) OF FeatureSetCombination         OPTIONAL,
    pdcp-ParametersMRDC-v1530           PDCP-ParametersMRDC                                                             OPTIONAL,
    lateNonCriticalExtension            OCTET STRING (CONTAINING UE-MRDC-Capability-v15g0)                              OPTIONAL,
    nonCriticalExtension                UE-MRDC-Capability-v1560                                                        OPTIONAL
}

-- Regular non-critical extensions:
UE-MRDC-Capability-v1560 ::=        SEQUENCE {
    receivedFilters                     OCTET STRING (CONTAINING UECapabilityEnquiry-v1560-IEs)                         OPTIONAL,
    measAndMobParametersMRDC-v1560      MeasAndMobParametersMRDC-v1560                                                  OPTIONAL,
    fdd-Add-UE-MRDC-Capabilities-v1560  UE-MRDC-CapabilityAddXDD-Mode-v1560                                             OPTIONAL,
    tdd-Add-UE-MRDC-Capabilities-v1560  UE-MRDC-CapabilityAddXDD-Mode-v1560                                             OPTIONAL,
    nonCriticalExtension                UE-MRDC-Capability-v1610                                                        OPTIONAL
}

UE-MRDC-Capability-v1610 ::=        SEQUENCE {
    measAndMobParametersMRDC-v1610      MeasAndMobParametersMRDC-v1610                                                  OPTIONAL,
    generalParametersMRDC-v1610         GeneralParametersMRDC-v1610                                                     OPTIONAL,
    pdcp-ParametersMRDC-v1610           PDCP-ParametersMRDC-v1610                                                       OPTIONAL,
    nonCriticalExtension                UE-MRDC-Capability-v1700                                                        OPTIONAL
}

UE-MRDC-Capability-v1700 ::=        SEQUENCE {
    measAndMobParametersMRDC-v1700      MeasAndMobParametersMRDC-v1700,
    nonCriticalExtension                UE-MRDC-Capability-v1730                                                        OPTIONAL
}

UE-MRDC-Capability-v1730 ::=        SEQUENCE {
    measAndMobParametersMRDC-v1730      MeasAndMobParametersMRDC-v1730                                                  OPTIONAL,
    nonCriticalExtension                SEQUENCE {}                                                                     OPTIONAL
}

-- Late non-critical extensions:
UE-MRDC-Capability-v15g0 ::=        SEQUENCE {
    rf-ParametersMRDC-v15g0             RF-ParametersMRDC-v15g0                                                         OPTIONAL,
    nonCriticalExtension                SEQUENCE {}                                                                     OPTIONAL
}

UE-MRDC-CapabilityAddXDD-Mode ::=   SEQUENCE {
    measAndMobParametersMRDC-XDD-Diff       MeasAndMobParametersMRDC-XDD-Diff                                           OPTIONAL,
    generalParametersMRDC-XDD-Diff          GeneralParametersMRDC-XDD-Diff                                              OPTIONAL
}

UE-MRDC-CapabilityAddXDD-Mode-v1560 ::=    SEQUENCE {
    measAndMobParametersMRDC-XDD-Diff-v1560    MeasAndMobParametersMRDC-XDD-Diff-v1560                                  OPTIONAL
}

UE-MRDC-CapabilityAddFRX-Mode ::=   SEQUENCE {
    measAndMobParametersMRDC-FRX-Diff       MeasAndMobParametersMRDC-FRX-Diff
}


GeneralParametersMRDC-XDD-Diff ::= SEQUENCE {
    splitSRB-WithOneUL-Path             ENUMERATED {supported}                                                          OPTIONAL,
    splitDRB-withUL-Both-MCG-SCG        ENUMERATED {supported}                                                          OPTIONAL,
    srb3                                ENUMERATED {supported}                                                          OPTIONAL,
    dummy                               ENUMERATED {supported}                                                          OPTIONAL,
    ...
}

GeneralParametersMRDC-v1610 ::= SEQUENCE {
    f1c-OverEUTRA-r16                   ENUMERATED {supported}                                                          OPTIONAL
}

-- TAG-UE-MRDC-CAPABILITY-STOP
-- ASN1STOP

-- ASN1START

-- TAG-UE-NR-CAPABILITY-START

UE-NR-Capability ::=            SEQUENCE {
    accessStratumRelease            AccessStratumRelease,
    pdcp-Parameters                 PDCP-Parameters,
    rlc-Parameters                  RLC-Parameters                                                        OPTIONAL,
    mac-Parameters                  MAC-Parameters                                                        OPTIONAL,
    phy-Parameters                  Phy-Parameters,
    rf-Parameters                   RF-Parameters,
    measAndMobParameters            MeasAndMobParameters                                                  OPTIONAL,
    fdd-Add-UE-NR-Capabilities      UE-NR-CapabilityAddXDD-Mode                                           OPTIONAL,
    tdd-Add-UE-NR-Capabilities      UE-NR-CapabilityAddXDD-Mode                                           OPTIONAL,
    fr1-Add-UE-NR-Capabilities      UE-NR-CapabilityAddFRX-Mode                                           OPTIONAL,
    fr2-Add-UE-NR-Capabilities      UE-NR-CapabilityAddFRX-Mode                                           OPTIONAL,
    featureSets                     FeatureSets                                                           OPTIONAL,
    featureSetCombinations          SEQUENCE (SIZE (1..maxFeatureSetCombinations)) OF FeatureSetCombination         OPTIONAL,
    lateNonCriticalExtension        OCTET STRING (CONTAINING UE-NR-Capability-v15c0)                      OPTIONAL,
    nonCriticalExtension            UE-NR-Capability-v1530                                                OPTIONAL
}

-- Regular non-critical Rel-15 extensions:
UE-NR-Capability-v1530 ::=               SEQUENCE {
    fdd-Add-UE-NR-Capabilities-v1530         UE-NR-CapabilityAddXDD-Mode-v1530                            OPTIONAL,
    tdd-Add-UE-NR-Capabilities-v1530         UE-NR-CapabilityAddXDD-Mode-v1530                            OPTIONAL,
    dummy                                    ENUMERATED {supported}                                       OPTIONAL,
    interRAT-Parameters                      InterRAT-Parameters                                          OPTIONAL,
    inactiveState                            ENUMERATED {supported}                                       OPTIONAL,
    delayBudgetReporting                     ENUMERATED {supported}                                       OPTIONAL,
    nonCriticalExtension                     UE-NR-Capability-v1540                                       OPTIONAL
}

UE-NR-Capability-v1540 ::=              SEQUENCE {
    sdap-Parameters                         SDAP-Parameters                                               OPTIONAL,
    overheatingInd                          ENUMERATED {supported}                                        OPTIONAL,
    ims-Parameters                          IMS-Parameters                                                OPTIONAL,
    fr1-Add-UE-NR-Capabilities-v1540        UE-NR-CapabilityAddFRX-Mode-v1540                             OPTIONAL,
    fr2-Add-UE-NR-Capabilities-v1540        UE-NR-CapabilityAddFRX-Mode-v1540                             OPTIONAL,
    fr1-fr2-Add-UE-NR-Capabilities          UE-NR-CapabilityAddFRX-Mode                                   OPTIONAL,
    nonCriticalExtension                    UE-NR-Capability-v1550                                        OPTIONAL
}

UE-NR-Capability-v1550 ::=               SEQUENCE {
    reducedCP-Latency                        ENUMERATED {supported}                                       OPTIONAL,
    nonCriticalExtension                     UE-NR-Capability-v1560                                       OPTIONAL
}

UE-NR-Capability-v1560 ::=               SEQUENCE {
    nrdc-Parameters                         NRDC-Parameters                                               OPTIONAL,
    receivedFilters                         OCTET STRING (CONTAINING UECapabilityEnquiry-v1560-IEs)       OPTIONAL,
    nonCriticalExtension                    UE-NR-Capability-v1570                                        OPTIONAL
}

UE-NR-Capability-v1570 ::=               SEQUENCE {
    nrdc-Parameters-v1570                   NRDC-Parameters-v1570                                         OPTIONAL,
    nonCriticalExtension                    UE-NR-Capability-v1610                                        OPTIONAL
}

-- Late non-critical Rel-15 extensions:
UE-NR-Capability-v15c0 ::=               SEQUENCE {
    nrdc-Parameters-v15c0                    NRDC-Parameters-v15c0                                        OPTIONAL,
    partialFR2-FallbackRX-Req                ENUMERATED {true}                                            OPTIONAL,
    nonCriticalExtension                     UE-NR-Capability-v15g0                                       OPTIONAL
}

UE-NR-Capability-v15g0 ::=               SEQUENCE {
    rf-Parameters-v15g0                      RF-Parameters-v15g0                                          OPTIONAL,
    nonCriticalExtension                     UE-NR-Capability-v15j0                                       OPTIONAL
}

UE-NR-Capability-v15j0 ::=               SEQUENCE {
    -- Following field is only for REL-15 late non-critical extensions
    lateNonCriticalExtension                 OCTET STRING                                                 OPTIONAL,
    nonCriticalExtension                     UE-NR-Capability-v16a0                                       OPTIONAL
}

-- Regular non-critical Rel-16 extensions:
UE-NR-Capability-v1610 ::=               SEQUENCE {
    inDeviceCoexInd-r16                     ENUMERATED {supported}                                        OPTIONAL,
    dl-DedicatedMessageSegmentation-r16     ENUMERATED {supported}                                        OPTIONAL,
    nrdc-Parameters-v1610                   NRDC-Parameters-v1610                                         OPTIONAL,
    powSav-Parameters-r16                   PowSav-Parameters-r16                                         OPTIONAL,
    fr1-Add-UE-NR-Capabilities-v1610        UE-NR-CapabilityAddFRX-Mode-v1610                             OPTIONAL,
    fr2-Add-UE-NR-Capabilities-v1610        UE-NR-CapabilityAddFRX-Mode-v1610                             OPTIONAL,
    bh-RLF-Indication-r16                   ENUMERATED {supported}                                        OPTIONAL,
    directSN-AdditionFirstRRC-IAB-r16       ENUMERATED {supported}                                        OPTIONAL,
    bap-Parameters-r16                      BAP-Parameters-r16                                            OPTIONAL,
    referenceTimeProvision-r16              ENUMERATED {supported}                                        OPTIONAL,
    sidelinkParameters-r16                  SidelinkParameters-r16                                        OPTIONAL,
    highSpeedParameters-r16                 HighSpeedParameters-r16                                       OPTIONAL,
    mac-Parameters-v1610                    MAC-Parameters-v1610                                          OPTIONAL,
    mcgRLF-RecoveryViaSCG-r16               ENUMERATED {supported}                                        OPTIONAL,
    resumeWithStoredMCG-SCells-r16          ENUMERATED {supported}                                        OPTIONAL,
    resumeWithStoredSCG-r16                 ENUMERATED {supported}                                        OPTIONAL,
    resumeWithSCG-Config-r16                ENUMERATED {supported}                                        OPTIONAL,
    ue-BasedPerfMeas-Parameters-r16         UE-BasedPerfMeas-Parameters-r16                               OPTIONAL,
    son-Parameters-r16                      SON-Parameters-r16                                            OPTIONAL,
    onDemandSIB-Connected-r16               ENUMERATED {supported}                                        OPTIONAL,
    nonCriticalExtension                    UE-NR-Capability-v1640                                        OPTIONAL
}

UE-NR-Capability-v1640 ::=               SEQUENCE {
    redirectAtResumeByNAS-r16               ENUMERATED {supported}                                        OPTIONAL,
    phy-ParametersSharedSpectrumChAccess-r16  Phy-ParametersSharedSpectrumChAccess-r16                    OPTIONAL,
    nonCriticalExtension                    UE-NR-Capability-v1650                                        OPTIONAL
}

UE-NR-Capability-v1650 ::=               SEQUENCE {
    mpsPriorityIndication-r16                ENUMERATED {supported}                                       OPTIONAL,
    highSpeedParameters-v1650                HighSpeedParameters-v1650                                    OPTIONAL,
    nonCriticalExtension                     UE-NR-Capability-v1690                                       OPTIONAL
}

UE-NR-Capability-v1690 ::=               SEQUENCE {
    ul-RRC-Segmentation-r16                  ENUMERATED {supported}                                       OPTIONAL,
    nonCriticalExtension                     UE-NR-Capability-v1700                                       OPTIONAL
}

-- Late non-critical extensions from Rel-16 onwards:
UE-NR-Capability-v16a0 ::=               SEQUENCE {
    phy-Parameters-v16a0                     Phy-Parameters-v16a0                                         OPTIONAL,
    rf-Parameters-v16a0                      RF-Parameters-v16a0                                          OPTIONAL,
    nonCriticalExtension                     UE-NR-Capability-v16c0                                       OPTIONAL
}

UE-NR-Capability-v16c0 ::=               SEQUENCE {
    rf-Parameters-v16c0                      RF-Parameters-v16c0                                          OPTIONAL,
    nonCriticalExtension                     SEQUENCE{}                                                   OPTIONAL
}

-- Regular non-critical Rel-17 extensions:
UE-NR-Capability-v1700 ::=               SEQUENCE {
    inactiveStatePO-Determination-r17        ENUMERATED {supported}                                       OPTIONAL,
    highSpeedParameters-v1700                HighSpeedParameters-v1700                                    OPTIONAL,
    powSav-Parameters-v1700                  PowSav-Parameters-v1700                                      OPTIONAL,
    mac-Parameters-v1700                     MAC-Parameters-v1700                                         OPTIONAL,
    ims-Parameters-v1700                     IMS-Parameters-v1700                                         OPTIONAL,
    measAndMobParameters-v1700               MeasAndMobParameters-v1700,
    appLayerMeasParameters-r17               AppLayerMeasParameters-r17                                   OPTIONAL,
    redCapParameters-r17                     RedCapParameters-r17                                         OPTIONAL,
    ra-SDT-r17                               ENUMERATED {supported}                                       OPTIONAL,
    srb-SDT-r17                              ENUMERATED {supported}                                       OPTIONAL,
    gNB-SideRTT-BasedPDC-r17                 ENUMERATED {supported}                                       OPTIONAL,
    bh-RLF-DetectionRecovery-Indication-r17  ENUMERATED {supported}                                       OPTIONAL,
    nrdc-Parameters-v1700                    NRDC-Parameters-v1700                                        OPTIONAL,
    bap-Parameters-v1700                     BAP-Parameters-v1700                                         OPTIONAL,
    musim-GapPreference-r17                  ENUMERATED {supported}                                       OPTIONAL,
    musimLeaveConnected-r17                  ENUMERATED {supported}                                       OPTIONAL,
    mbs-Parameters-r17                       MBS-Parameters-r17,
    nonTerrestrialNetwork-r17                ENUMERATED {supported}                                       OPTIONAL,
    ntn-ScenarioSupport-r17                  ENUMERATED {gso, ngso}                                       OPTIONAL,
    sliceInfoforCellReselection-r17          ENUMERATED {supported}                                       OPTIONAL,
    ue-RadioPagingInfo-r17                   UE-RadioPagingInfo-r17                                       OPTIONAL,
    -- R4 17-2 UL gap pattern for Tx power management
    ul-GapFR2-Pattern-r17                    BIT STRING (SIZE (4))                                        OPTIONAL,
    ntn-Parameters-r17                       NTN-Parameters-r17                                           OPTIONAL,
    nonCriticalExtension                     UE-NR-Capability-v1740                                       OPTIONAL
}

UE-NR-Capability-v1740 ::=               SEQUENCE {
    redCapParameters-v1740                   RedCapParameters-v1740,
    nonCriticalExtension                     SEQUENCE {}                                                  OPTIONAL
}

UE-NR-CapabilityAddXDD-Mode ::=          SEQUENCE {
    phy-ParametersXDD-Diff                   Phy-ParametersXDD-Diff                                       OPTIONAL,
    mac-ParametersXDD-Diff                   MAC-ParametersXDD-Diff                                       OPTIONAL,
    measAndMobParametersXDD-Diff             MeasAndMobParametersXDD-Diff                                 OPTIONAL
}

UE-NR-CapabilityAddXDD-Mode-v1530 ::=    SEQUENCE {
    eutra-ParametersXDD-Diff                 EUTRA-ParametersXDD-Diff
}

UE-NR-CapabilityAddFRX-Mode ::=          SEQUENCE {
    phy-ParametersFRX-Diff                   Phy-ParametersFRX-Diff                                       OPTIONAL,
    measAndMobParametersFRX-Diff             MeasAndMobParametersFRX-Diff                                 OPTIONAL
}

UE-NR-CapabilityAddFRX-Mode-v1540 ::=    SEQUENCE {
    ims-ParametersFRX-Diff                   IMS-ParametersFRX-Diff                                       OPTIONAL
}

UE-NR-CapabilityAddFRX-Mode-v1610 ::=    SEQUENCE {
    powSav-ParametersFRX-Diff-r16            PowSav-ParametersFRX-Diff-r16                                OPTIONAL,
    mac-ParametersFRX-Diff-r16               MAC-ParametersFRX-Diff-r16                                   OPTIONAL
}

BAP-Parameters-r16 ::=                   SEQUENCE {
    flowControlBH-RLC-ChannelBased-r16       ENUMERATED {supported}                                       OPTIONAL,
    flowControlRouting-ID-Based-r16          ENUMERATED {supported}                                       OPTIONAL
}

BAP-Parameters-v1700 ::=                 SEQUENCE {
    bapHeaderRewriting-Rerouting-r17         ENUMERATED {supported}                                       OPTIONAL,
    bapHeaderRewriting-Routing-r17           ENUMERATED {supported}                                       OPTIONAL
}

MBS-Parameters-r17 ::=                   SEQUENCE {
    maxMRB-Add-r17                           INTEGER (1..16)                                              OPTIONAL
}

-- TAG-UE-NR-CAPABILITY-STOP
-- ASN1STOP

-- ASN1START

-- TAG-UE-RADIOPAGINGINFO-START

UE-RadioPagingInfo-r17 ::=            SEQUENCE {
    -- R1 29-1: Paging enhancement
    pei-SubgroupingSupportBandList-r17    SEQUENCE (SIZE (1..maxBands)) OF FreqBandIndicatorNR    OPTIONAL,
    ...
}

-- TAG-UE-RADIOPAGINGINFO-STOP
-- ASN1STOP

-- ASN1START

-- TAG-SHAREDSPECTRUMCHACCESSPARAMSPERBAND-START

SharedSpectrumChAccessParamsPerBand-r16 ::=           SEQUENCE {

    -- R1 10-1: UL channel access for dynamic channel access mode
    ul-DynamicChAccess-r16                              ENUMERATED {supported}            OPTIONAL,
    -- R1 10-1a: UL channel access for semi-static channel access mode
    ul-Semi-StaticChAccess-r16                          ENUMERATED {supported}            OPTIONAL,
    -- R1 10-2: SSB-based RRM for dynamic channel access mode
    ssb-RRM-DynamicChAccess-r16                         ENUMERATED {supported}            OPTIONAL,
    -- R1 10-2a: SSB-based RRM for semi-static channel access mode
    ssb-RRM-Semi-StaticChAccess-r16                     ENUMERATED {supported}            OPTIONAL,
    -- R1 10-2b: MIB reading on unlicensed cell
    mib-Acquisition-r16                                 ENUMERATED {supported}            OPTIONAL,
    -- R1 10-2c: SSB-based RLM for dynamic channel access mode
    ssb-RLM-DynamicChAccess-r16                         ENUMERATED {supported}            OPTIONAL,
    -- R1 10-2d: SSB-based RLM for semi-static channel access mode
    ssb-RLM-Semi-StaticChAccess-r16                     ENUMERATED {supported}            OPTIONAL,
    -- R1 10-2e: SIB1 reception on unlicensed cell
    sib1-Acquisition-r16                                ENUMERATED {supported}            OPTIONAL,
    -- R1 10-2f: Support monitoring of extended RAR window
    extRA-ResponseWindow-r16                            ENUMERATED {supported}            OPTIONAL,
    -- R1 10-2g: SSB-based BFD/CBD for dynamic channel access mode
    ssb-BFD-CBD-dynamicChannelAccess-r16                ENUMERATED {supported}            OPTIONAL,
    -- R1 10-2h: SSB-based BFD/CBD for semi-static channel access mode
    ssb-BFD-CBD-semi-staticChannelAccess-r16            ENUMERATED {supported}            OPTIONAL,
    -- R1 10-2i: CSI-RS-based BFD/CBD for NR-U
    csi-RS-BFD-CBD-r16                                  ENUMERATED {supported}            OPTIONAL,
    -- R1 10-7: UL channel access for 10 MHz SCell
    ul-ChannelBW-SCell-10mhz-r16                        ENUMERATED {supported}            OPTIONAL,
    -- R1 10-10: RSSI and channel occupancy measurement and reporting
    rssi-ChannelOccupancyReporting-r16                  ENUMERATED {supported}            OPTIONAL,
    -- R1 10-11:SRS starting position at any OFDM symbol in a slot
    srs-StartAnyOFDM-Symbol-r16                         ENUMERATED {supported}            OPTIONAL,
    -- R1 10-20: Support search space set configuration with freqMonitorLocation-r16
    searchSpaceFreqMonitorLocation-r16                  INTEGER (1..5)                    OPTIONAL,
    -- R1 10-20a: Support coreset configuration with rb-Offset
    coreset-RB-Offset-r16                               ENUMERATED {supported}            OPTIONAL,
    -- R1 10-23:CGI reading on unlicensed cell for ANR functionality
    cgi-Acquisition-r16                                 ENUMERATED {supported}            OPTIONAL,
    -- R1 10-25: Enable configured UL transmissions when DCI 2_0 is configured but not detected
    configuredUL-Tx-r16                                  ENUMERATED {supported}            OPTIONAL,
    -- R1 10-27: Wideband PRACH
    prach-Wideband-r16                                  ENUMERATED {supported}            OPTIONAL,
    -- R1 10-29: Support available RB set indicator field in DCI 2_0
    dci-AvailableRB-Set-r16                             ENUMERATED {supported}            OPTIONAL,
    -- R1 10-30: Support channel occupancy duration indicator field in DCI 2_0
    dci-ChOccupancyDuration-r16                         ENUMERATED {supported}            OPTIONAL,
    -- R1 10-8: Type B PDSCH length {3, 5, 6, 8, 9, 10, 11, 12, 13} without DMRS shift due to CRS collision
    typeB-PDSCH-length-r16                              ENUMERATED {supported}            OPTIONAL,
    -- R1 10-9: Search space set group switching with explicit DCI 2_0 bit field trigger or with implicit PDCCH decoding with DCI 2_0 monitoring
    searchSpaceSwitchWithDCI-r16                        ENUMERATED {supported}            OPTIONAL,
    -- R1 10-9b: Search space set group switching with implicit PDCCH decoding without DCI 2_0 monitoring
    searchSpaceSwitchWithoutDCI-r16                     ENUMERATED {supported}            OPTIONAL,
    -- R1 10-9d: Support Search space set group switching capability 2
    searchSpaceSwitchCapability2-r16                    ENUMERATED {supported}            OPTIONAL,
    -- R1 10-14: Non-numerical PDSCH to HARQ-ACK timing
    non-numericalPDSCH-HARQ-timing-r16                  ENUMERATED {supported}            OPTIONAL,
    -- R1 10-15: Enhanced dynamic HARQ codebook
    enhancedDynamicHARQ-codebook-r16                    ENUMERATED {supported}            OPTIONAL,
    -- R1 10-16: One-shot HARQ ACK feedback
    oneShotHARQ-feedback-r16                            ENUMERATED {supported}            OPTIONAL,
    -- R1 10-17: Multi-PUSCH UL grant
    multiPUSCH-UL-grant-r16                             ENUMERATED {supported}            OPTIONAL,
    -- R1 10-26: CSI-RS based RLM for NR-U
    csi-RS-RLM-r16                                      ENUMERATED {supported}            OPTIONAL,
    dummy                                              ENUMERATED {supported}            OPTIONAL,
    -- R1 10-31: Support of P/SP-CSI-RS reception with CSI-RS-ValidationWith-DCI-r16 configured
    periodicAndSemi-PersistentCSI-RS-r16                ENUMERATED {supported}            OPTIONAL,
    -- R1 10-3: PRB interlace mapping for PUSCH
    pusch-PRB-interlace-r16                             ENUMERATED {supported}            OPTIONAL,
    -- R1 10-3a: PRB interlace mapping for PUCCH
    pucch-F0-F1-PRB-Interlace-r16                       ENUMERATED {supported}            OPTIONAL,
    -- R1 10-12: OCC for PRB interlace mapping for PF2 and PF3
    occ-PRB-PF2-PF3-r16                                 ENUMERATED {supported}            OPTIONAL,
    -- R1 10-13a: Extended CP range of more than one symbol for CG-PUSCH
    extCP-rangeCG-PUSCH-r16                             ENUMERATED {supported}            OPTIONAL,
    -- R1 10-18: Configured grant with retransmission in CG resources
    configuredGrantWithReTx-r16                         ENUMERATED {supported}            OPTIONAL,
    -- R1 10-21a: Support using ED threshold given by gNB for UL to DL COT sharing
    ed-Threshold-r16                                    ENUMERATED {supported}            OPTIONAL,
    -- R1 10-21b: Support UL to DL COT sharing
    ul-DL-COT-Sharing-r16                               ENUMERATED {supported}            OPTIONAL,
    -- R1 10-24: CG-UCI multiplexing with HARQ ACK
    mux-CG-UCI-HARQ-ACK-r16                             ENUMERATED {supported}            OPTIONAL,
    -- R1 10-28: Configured grant with Rel-16 enhanced resource configuration
    cg-resourceConfig-r16                               ENUMERATED {supported}            OPTIONAL
}

SharedSpectrumChAccessParamsPerBand-v1630 ::=       SEQUENCE {
    -- R4 4-1: DL reception in intra-carrier guardband
    dl-ReceptionIntraCellGuardband-r16                  ENUMERATED {supported}            OPTIONAL,
    -- R4 4-2: DL reception when gNB does not transmit on all RB sets of a carrier as a result of LBT
    dl-ReceptionLBT-subsetRB-r16                        ENUMERATED {supported}            OPTIONAL
}

SharedSpectrumChAccessParamsPerBand-v1640 ::=       SEQUENCE {
    -- 10-26b(1-4): CSI-RS based RRM measurement with associated SS-block
    csi-RSRP-AndRSRQ-MeasWithSSB-r16                     ENUMERATED {supported}              OPTIONAL,
    -- 10-26c(1-5): CSI-RS based RRM measurement without associated SS-block
    csi-RSRP-AndRSRQ-MeasWithoutSSB-r16                 ENUMERATED {supported}               OPTIONAL,
    -- 10-26d(1-6): CSI-RS based RS-SINR measurement
    csi-SINR-Meas-r16                                      ENUMERATED {supported}               OPTIONAL,
    -- 10-26e(1-8): RLM based on a mix of SS block and CSI-RS signals within active BWP
    ssb-AndCSI-RS-RLM-r16                                 ENUMERATED {supported}               OPTIONAL,
    -- 10-26f(1-9): CSI-RS based contention free RA for HO
    csi-RS-CFRA-ForHO-r16                                 ENUMERATED {supported}               OPTIONAL
}

SharedSpectrumChAccessParamsPerBand-v1650 ::=       SEQUENCE {
    -- Extension of R1 10-9 capability to configure up to 16 instead of 4 cells or cell groups, respectively
    extendedSearchSpaceSwitchWithDCI-r16                ENUMERATED {supported}               OPTIONAL
}

SharedSpectrumChAccessParamsPerBand-v1710 ::=    SEQUENCE {
    -- R1 25-12: UE initiated semi-static channel occupancy with dependent configurations
    ul-Semi-StaticChAccessDependentConfig-r17        ENUMERATED {supported}            OPTIONAL,
    -- R1 25-13: UE initiated semi-static channel occupancy with independent configurations
    ul-Semi-StaticChAccessIndependentConfig-r17      ENUMERATED {supported}            OPTIONAL
}

-- TAG-SHAREDSPECTRUMCHACCESSPARAMSPERBAND-STOP
-- ASN1STOP

-- ASN1START

-- TAG-ABSOLUTETIMEINFO-START

AbsoluteTimeInfo-r16 ::= BIT STRING (SIZE (48))

-- TAG-ABSOLUTETIMEINFO-STOP
-- ASN1STOP

-- ASN1START

-- TAG-APPLAYERMEASCONFIG-START

AppLayerMeasConfig-r17 ::=           SEQUENCE {
    measConfigAppLayerToAddModList-r17   SEQUENCE (SIZE (1..maxNrofAppLayerMeas-r17)) OF MeasConfigAppLayer-r17     OPTIONAL, -- Need N
    measConfigAppLayerToReleaseList-r17  SEQUENCE (SIZE (1..maxNrofAppLayerMeas-r17)) OF MeasConfigAppLayerId-r17   OPTIONAL, -- Need N
    rrc-SegAllowed-r17                   ENUMERATED {enabled}                                                       OPTIONAL, -- Need R
    ...
}

MeasConfigAppLayer-r17 ::=           SEQUENCE {
    measConfigAppLayerId-r17             MeasConfigAppLayerId-r17,
    measConfigAppLayerContainer-r17      OCTET STRING (SIZE (1..8000))                                              OPTIONAL, -- Need N
    serviceType-r17                      ENUMERATED {streaming, mtsi, vr, spare5, spare4, spare3, spare2, spare1}   OPTIONAL, -- Need M
    pauseReporting-r17                   BOOLEAN                                                                    OPTIONAL, -- Need M
    transmissionOfSessionStartStop-r17   BOOLEAN                                                                    OPTIONAL, -- Need M
    ran-VisibleParameters-r17            SetupRelease {RAN-VisibleParameters-r17}                                   OPTIONAL, -- Cond ServiceType
    ...
}

RAN-VisibleParameters-r17 ::=        SEQUENCE {
    ran-VisiblePeriodicity-r17           ENUMERATED {ms120, ms240, ms480, ms640, ms1024}                            OPTIONAL, -- Need S
    numberOfBufferLevelEntries-r17       INTEGER (1..8)                                                             OPTIONAL, -- Need R
    reportPlayoutDelayForMediaStartup-r17 BOOLEAN                                                                   OPTIONAL, -- Need M
    ...
}

-- TAG-APPLAYERMEASCONFIG-STOP
-- ASN1STOP

-- ASN1START

-- TAG-AREACONFIGURATION-START

AreaConfiguration-r16 ::=        SEQUENCE {
    areaConfig-r16                   AreaConfig-r16,
    interFreqTargetList-r16          SEQUENCE(SIZE (1..maxFreq)) OF InterFreqTargetInfo-r16              OPTIONAL  -- Need R
}

AreaConfiguration-v1700 ::=      SEQUENCE {
    areaConfig-r17                   AreaConfig-r16                                                      OPTIONAL, -- Need R
    interFreqTargetList-r17          SEQUENCE(SIZE (1..maxFreq)) OF InterFreqTargetInfo-r16              OPTIONAL  -- Need R
}

AreaConfig-r16 ::=     CHOICE {
    cellGlobalIdList-r16             CellGlobalIdList-r16,
    trackingAreaCodeList-r16         TrackingAreaCodeList-r16,
    trackingAreaIdentityList-r16     TrackingAreaIdentityList-r16
}

InterFreqTargetInfo-r16 ::=   SEQUENCE {
    dl-CarrierFreq-r16               ARFCN-ValueNR,
    cellList-r16                     SEQUENCE (SIZE (1..32)) OF  PhysCellId  OPTIONAL      -- Need R
}

CellGlobalIdList-r16 ::=         SEQUENCE (SIZE (1..32)) OF CGI-Info-Logging-r16

TrackingAreaCodeList-r16 ::=     SEQUENCE (SIZE (1..8)) OF TrackingAreaCode

TrackingAreaIdentityList-r16 ::= SEQUENCE (SIZE (1..8)) OF TrackingAreaIdentity-r16

TrackingAreaIdentity-r16 ::=     SEQUENCE {
    plmn-Identity-r16                PLMN-Identity,
    trackingAreaCode-r16             TrackingAreaCode
}

-- TAG-AREACONFIGURATION-STOP
-- ASN1STOP

-- ASN1START

-- TAG-BTNAMELIST-START

BT-NameList-r16 ::=                SEQUENCE (SIZE (1..maxBT-Name-r16)) OF BT-Name-r16

BT-Name-r16 ::=                    OCTET STRING (SIZE (1..248))

-- TAG-BTNAMELIST-STOP
-- ASN1STOP

-- ASN1START

-- TAG-DEDICATEDINFOF1C-START

DedicatedInfoF1c-r17 ::=        OCTET STRING

-- TAG-DEDICATEDINFOF1C-STOP
-- ASN1STOP

-- ASN1START

-- TAG-EUTRA-ALLOWEDMEASBANDWIDTH-START

EUTRA-AllowedMeasBandwidth ::=              ENUMERATED {mbw6, mbw15, mbw25, mbw50, mbw75, mbw100}

-- TAG-EUTRA-ALLOWEDMEASBANDWIDTH-STOP
-- ASN1STOP

-- ASN1START

-- TAG-EUTRA-MBSFN-SUBFRAMECONFIGLIST-START

EUTRA-MBSFN-SubframeConfigList ::= SEQUENCE (SIZE (1..maxMBSFN-Allocations)) OF EUTRA-MBSFN-SubframeConfig

EUTRA-MBSFN-SubframeConfig ::=      SEQUENCE {
    radioframeAllocationPeriod          ENUMERATED {n1, n2, n4, n8, n16, n32},
    radioframeAllocationOffset          INTEGER (0..7),
    subframeAllocation1                 CHOICE {
        oneFrame                            BIT STRING (SIZE(6)),
        fourFrames                          BIT STRING (SIZE(24))
    },
    subframeAllocation2                 CHOICE {
        oneFrame                            BIT STRING (SIZE(2)),
        fourFrames                          BIT STRING (SIZE(8))
    }                                                                                                       OPTIONAL,   -- Need R
    ...
}

-- TAG-EUTRA-MBSFN-SUBFRAMECONFIGLIST-STOP
-- ASN1STOP

-- ASN1START

-- TAG-EUTRA-MULTIBANDINFOLIST-START

EUTRA-MultiBandInfoList ::=     SEQUENCE (SIZE (1..maxMultiBands)) OF EUTRA-MultiBandInfo

EUTRA-MultiBandInfo ::=         SEQUENCE {
    eutra-FreqBandIndicator         FreqBandIndicatorEUTRA,
    eutra-NS-PmaxList               EUTRA-NS-PmaxList                           OPTIONAL    -- Need R
}

-- TAG-EUTRA-MULTIBANDINFOLIST-STOP
-- ASN1STOP

-- ASN1START

-- TAG-EUTRA-NS-PMAXLIST-START

EUTRA-NS-PmaxList ::=               SEQUENCE (SIZE (1..maxEUTRA-NS-Pmax)) OF EUTRA-NS-PmaxValue

EUTRA-NS-PmaxValue ::=              SEQUENCE {
    additionalPmax                      INTEGER (-30..33)                       OPTIONAL,   -- Need R
    additionalSpectrumEmission          INTEGER (1..288)                        OPTIONAL    -- Need R
}

-- TAG-EUTRA-NS-PMAXLIST-STOP
-- ASN1STOP

-- ASN1START

-- TAG-EUTRA-PHYSCELLID-START

EUTRA-PhysCellId ::=                        INTEGER (0..503)

-- TAG-EUTRA-PHYSCELLID-STOP
-- ASN1STOP

-- ASN1START

-- TAG-EUTRA-PHYSCELLIDRANGE-START

EUTRA-PhysCellIdRange ::=       SEQUENCE {
    start                           EUTRA-PhysCellId,
    range                           ENUMERATED {n4, n8, n12, n16, n24, n32, n48, n64, n84, n96,
                                                n128, n168, n252, n504, spare2, spare1}                         OPTIONAL    -- Need N
}

-- TAG-EUTRA-PHYSCELLIDRANGE-STOP
-- ASN1STOP

-- ASN1START

-- TAG-EUTRA-PRESENCEANTENNAPORT1-START

EUTRA-PresenceAntennaPort1 ::=              BOOLEAN

-- TAG-EUTRA-PRESENCEANTENNAPORT1-STOP
-- ASN1STOP

-- ASN1START

-- TAG-EUTRA-Q-OFFSETRANGE-START

EUTRA-Q-OffsetRange ::=                     ENUMERATED {
                                                dB-24, dB-22, dB-20, dB-18, dB-16, dB-14,
                                                dB-12, dB-10, dB-8, dB-6, dB-5, dB-4, dB-3,
                                                dB-2, dB-1, dB0, dB1, dB2, dB3, dB4, dB5,
                                                dB6, dB8, dB10, dB12, dB14, dB16, dB18,
                                                dB20, dB22, dB24}

-- TAG-EUTRA-Q-OFFSETRANGE-STOP
-- ASN1STOP

-- ASN1START

-- TAG-IABIPADDRESS-START

IAB-IP-Address-r16 ::=  CHOICE {
    iPv4-Address-r16                BIT STRING (SIZE(32)),
    iPv6-Address-r16                BIT STRING (SIZE(128)),
    iPv6-Prefix-r16                 BIT STRING (SIZE(64)),
    ...
}

-- TAG-IABIPADDRESS-STOP
-- ASN1STOP

-- ASN1START

-- TAG-IABIPADDRESSINDEX-START

IAB-IP-AddressIndex-r16 ::= INTEGER (1..maxIAB-IP-Address-r16)

-- TAG-IABIPADDRESSINDEX-STOP
-- ASN1STOP

-- ASN1START

-- TAG-IAB-IP-USAGE-START

IAB-IP-Usage-r16 ::= ENUMERATED {f1-C, f1-U, non-F1, spare}

-- TAG-IAB-IP-USAGE-STOP
-- ASN1STOP

-- ASN1START

-- TAG-LOGGINGDURATION-START

LoggingDuration-r16 ::=   ENUMERATED {
                              min10, min20, min40, min60, min90, min120, spare2, spare1}

-- TAG-LOGGINGDURATION-STOP
-- ASN1STOP

-- ASN1START

-- TAG-LOGGINGINTERVAL-START

LoggingInterval-r16 ::=   ENUMERATED {
                              ms320, ms640, ms1280, ms2560, ms5120, ms10240, ms20480,
                              ms30720, ms40960, ms61440 , infinity}

-- TAG-LOGGINGINTERVAL-STOP
-- ASN1STOP

-- ASN1START

-- TAG-LOGMEASRESULTLISTBT-START

LogMeasResultListBT-r16 ::= SEQUENCE (SIZE (1..maxBT-IdReport-r16)) OF LogMeasResultBT-r16

LogMeasResultBT-r16 ::= SEQUENCE {
    bt-Addr-r16             BIT STRING (SIZE (48)),
    rssi-BT-r16             INTEGER (-128..127)        OPTIONAL,
    ...
}

-- TAG-LOGMEASRESULTLISTBT-STOP
-- ASN1STOP

-- ASN1START

-- TAG-LOGMEASRESULTLISTWLAN-START

LogMeasResultListWLAN-r16 ::=    SEQUENCE (SIZE (1..maxWLAN-Id-Report-r16)) OF LogMeasResultWLAN-r16

LogMeasResultWLAN-r16 ::=        SEQUENCE {
    wlan-Identifiers-r16             WLAN-Identifiers-r16,
    rssiWLAN-r16                     WLAN-RSSI-Range-r16          OPTIONAL,
    rtt-WLAN-r16                     WLAN-RTT-r16                 OPTIONAL,
    ...
}

WLAN-Identifiers-r16 ::=         SEQUENCE {
    ssid-r16                         OCTET STRING (SIZE (1..32))  OPTIONAL,
    bssid-r16                        OCTET STRING (SIZE (6))      OPTIONAL,
    hessid-r16                       OCTET STRING (SIZE (6))      OPTIONAL,
    ...
}

WLAN-RSSI-Range-r16 ::= INTEGER(0..141)

WLAN-RTT-r16 ::=                 SEQUENCE {
    rttValue-r16                     INTEGER (0..16777215),
    rttUnits-r16                     ENUMERATED {
                                         microseconds,
                                         hundredsofnanoseconds,
                                         tensofnanoseconds,
                                         nanoseconds,
                                         tenthsofnanoseconds,
                                         ...},
    rttAccuracy-r16                  INTEGER (0..255)             OPTIONAL,
    ...
}

-- TAG-LOGMEASRESULTLISTWLAN-STOP
-- ASN1STOP

-- ASN1START

-- TAG-MEASCONFIGAPPLAYERID-START

MeasConfigAppLayerId-r17 ::= INTEGER (0..maxNrofAppLayerMeas-1-r17)

-- TAG-MEASCONFIGAPPLAYERID-STOP
-- ASN1STOP

-- ASN1START

-- TAG-OTHERCONFIG-START

OtherConfig ::=                 SEQUENCE {
    delayBudgetReportingConfig  CHOICE{
        release                 NULL,
        setup                   SEQUENCE{
            delayBudgetReportingProhibitTimer   ENUMERATED {s0, s0dot4, s0dot8, s1dot6, s3, s6, s12, s30}
        }
    }                                                                                                     OPTIONAL        -- Need M
}

OtherConfig-v1540 ::=           SEQUENCE {
    overheatingAssistanceConfig     SetupRelease {OverheatingAssistanceConfig}                            OPTIONAL, -- Need M
    ...
}

OtherConfig-v1610 ::=                   SEQUENCE {
    idc-AssistanceConfig-r16                SetupRelease {IDC-AssistanceConfig-r16}                       OPTIONAL, -- Need M
    drx-PreferenceConfig-r16                SetupRelease {DRX-PreferenceConfig-r16}                       OPTIONAL, -- Need M
    maxBW-PreferenceConfig-r16              SetupRelease {MaxBW-PreferenceConfig-r16}                     OPTIONAL, -- Need M
    maxCC-PreferenceConfig-r16              SetupRelease {MaxCC-PreferenceConfig-r16}                     OPTIONAL, -- Need M
    maxMIMO-LayerPreferenceConfig-r16       SetupRelease {MaxMIMO-LayerPreferenceConfig-r16}              OPTIONAL, -- Need M
    minSchedulingOffsetPreferenceConfig-r16 SetupRelease {MinSchedulingOffsetPreferenceConfig-r16}        OPTIONAL, -- Need M
    releasePreferenceConfig-r16             SetupRelease {ReleasePreferenceConfig-r16}                    OPTIONAL, -- Need M
    referenceTimePreferenceReporting-r16    ENUMERATED {true}                                             OPTIONAL, -- Need R
    btNameList-r16                          SetupRelease {BT-NameList-r16}                                OPTIONAL, -- Need M
    wlanNameList-r16                        SetupRelease {WLAN-NameList-r16}                              OPTIONAL, -- Need M
    sensorNameList-r16                      SetupRelease {Sensor-NameList-r16}                            OPTIONAL, -- Need M
    obtainCommonLocation-r16                ENUMERATED {true}                                             OPTIONAL, -- Need R
    sl-AssistanceConfigNR-r16               ENUMERATED{true}                                              OPTIONAL  -- Need R
}

OtherConfig-v1700 ::=                   SEQUENCE {
    ul-GapFR2-PreferenceConfig-r17          ENUMERATED {true}                                             OPTIONAL, -- Need R
    musim-GapAssistanceConfig-r17           SetupRelease {MUSIM-GapAssistanceConfig-r17}                  OPTIONAL, -- Need M
    musim-LeaveAssistanceConfig-r17         SetupRelease {MUSIM-LeaveAssistanceConfig-r17}                OPTIONAL, -- Need M
    successHO-Config-r17                    SetupRelease {SuccessHO-Config-r17}                           OPTIONAL, -- Need M
    maxBW-PreferenceConfigFR2-2-r17         ENUMERATED {true}                                             OPTIONAL, -- Cond maxBW
    maxMIMO-LayerPreferenceConfigFR2-2-r17  ENUMERATED {true}                                             OPTIONAL, -- Cond maxMIMO
    minSchedulingOffsetPreferenceConfigExt-r17  ENUMERATED {true}                                         OPTIONAL, -- Cond minOffset
    rlm-RelaxationReportingConfig-r17       SetupRelease {RLM-RelaxationReportingConfig-r17}              OPTIONAL, -- Need M
    bfd-RelaxationReportingConfig-r17       SetupRelease {BFD-RelaxationReportingConfig-r17}              OPTIONAL, -- Need M
    scg-DeactivationPreferenceConfig-r17    SetupRelease {SCG-DeactivationPreferenceConfig-r17}           OPTIONAL, -- Cond SCG
    rrm-MeasRelaxationReportingConfig-r17   SetupRelease {RRM-MeasRelaxationReportingConfig-r17}          OPTIONAL, -- Need M
    propDelayDiffReportConfig-r17           SetupRelease {PropDelayDiffReportConfig-r17}                  OPTIONAL  -- Need M
}

CandidateServingFreqListNR-r16 ::= SEQUENCE (SIZE (1..maxFreqIDC-r16)) OF ARFCN-ValueNR

MUSIM-GapAssistanceConfig-r17 ::= SEQUENCE {
    musim-GapProhibitTimer-r17        ENUMERATED {s0, s0dot1, s0dot2, s0dot3, s0dot4, s0dot5, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10}
}

MUSIM-LeaveAssistanceConfig-r17 ::=     SEQUENCE {
    musim-LeaveWithoutResponseTimer-r17     ENUMERATED {ms10, ms20, ms40, ms60, ms80, ms100, spare2, spare1}
}

SuccessHO-Config-r17 ::=                SEQUENCE {
    thresholdPercentageT304-r17             ENUMERATED {p40, p60, p80, spare5, spare4, spare3, spare2, spare1}      OPTIONAL, --Need R
    thresholdPercentageT310-r17             ENUMERATED {p40, p60, p80, spare5, spare4, spare3, spare2, spare1}      OPTIONAL, --Need R
    thresholdPercentageT312-r17             ENUMERATED {p20, p40, p60, p80, spare4, spare3, spare2, spare1}         OPTIONAL, --Need R
    sourceDAPS-FailureReporting-r17         ENUMERATED {true}                                                       OPTIONAL, --Need R
    ...
}

OverheatingAssistanceConfig ::= SEQUENCE {
    overheatingIndicationProhibitTimer    ENUMERATED {s0, s0dot5, s1, s2, s5, s10, s20, s30,
                                          s60, s90, s120, s300, s600, spare3, spare2, spare1}
}

IDC-AssistanceConfig-r16 ::=    SEQUENCE {
    candidateServingFreqListNR-r16  CandidateServingFreqListNR-r16                     OPTIONAL, -- Need R
    ...
}

DRX-PreferenceConfig-r16 ::=          SEQUENCE {
    drx-PreferenceProhibitTimer-r16       ENUMERATED {
                                              s0, s0dot5, s1, s2, s3, s4, s5, s6, s7,
                                              s8, s9, s10, s20, s30, spare2, spare1}
}

MaxBW-PreferenceConfig-r16 ::=        SEQUENCE {
    maxBW-PreferenceProhibitTimer-r16     ENUMERATED {
                                              s0, s0dot5, s1, s2, s3, s4, s5, s6, s7,
                                              s8, s9, s10, s20, s30, spare2, spare1}
}

MaxCC-PreferenceConfig-r16 ::=        SEQUENCE {
    maxCC-PreferenceProhibitTimer-r16     ENUMERATED {
                                              s0, s0dot5, s1, s2, s3, s4, s5, s6, s7,
                                              s8, s9, s10, s20, s30, spare2, spare1}
}

MaxMIMO-LayerPreferenceConfig-r16 ::= SEQUENCE {
    maxMIMO-LayerPreferenceProhibitTimer-r16 ENUMERATED {
                                                 s0, s0dot5, s1, s2, s3, s4, s5, s6, s7,
                                                 s8, s9, s10, s20, s30, spare2, spare1}
}

MinSchedulingOffsetPreferenceConfig-r16 ::=   SEQUENCE {
    minSchedulingOffsetPreferenceProhibitTimer-r16 ENUMERATED {
                                                       s0, s0dot5, s1, s2, s3, s4, s5, s6, s7,
                                                       s8, s9, s10, s20, s30, spare2, spare1}
}

ReleasePreferenceConfig-r16 ::=       SEQUENCE {
    releasePreferenceProhibitTimer-r16    ENUMERATED {
                                              s0, s0dot5, s1, s2, s3, s4, s5, s6, s7,
                                              s8, s9, s10, s20, s30, infinity, spare1},
    connectedReporting                    ENUMERATED {true}                                               OPTIONAL  -- Need R
}

RLM-RelaxationReportingConfig-r17 ::= SEQUENCE {
    rlm-RelaxtionReportingProhibitTimer   ENUMERATED {s0, s0dot5, s1, s2, s5, s10, s20, s30,
                                          s60, s90, s120, s300, s600, infinity, spare2, spare1}
}

BFD-RelaxationReportingConfig-r17 ::= SEQUENCE {
    bfd-RelaxtionReportingProhibitTimer   ENUMERATED {s0, s0dot5, s1, s2, s5, s10, s20, s30,
                                          s60, s90, s120, s300, s600, infinity, spare2, spare1}
}

SCG-DeactivationPreferenceConfig-r17 ::=       SEQUENCE {
    scg-DeactivationPreferenceProhibitTimer-r17    ENUMERATED {
                                                   s0, s1, s2, s4, s8, s10, s15, s30,
                                                   s60, s120, s180, s240, s300, s600, s900, s1800}
}

RRM-MeasRelaxationReportingConfig-r17 ::= SEQUENCE {
    s-SearchDeltaP-Stationary-r17             ENUMERATED {dB2, dB3, dB6, dB9, dB12, dB15, spare2, spare1},
    t-SearchDeltaP-Stationary-r17             ENUMERATED {s5, s10, s20, s30, s60, s120, s180, s240, s300, spare7, spare6, spare5,
                                                          spare4, spare3, spare2, spare1}
}

PropDelayDiffReportConfig-r17 ::= SEQUENCE {
    threshPropDelayDiff-r17           ENUMERATED {ms0dot5, ms1, ms2, ms3, ms4, ms5, ms6 ,ms7, ms8, ms9, ms10, spare5,
                                                          spare4, spare3, spare2, spare1}                OPTIONAL,   -- Need M
    neighCellInfoList-r17             SEQUENCE (SIZE (1..maxCellNTN-r17)) OF NeighbourCellInfo-r17         OPTIONAL    -- Need M
}

NeighbourCellInfo-r17 ::= SEQUENCE {
epochTime-r17                  EpochTime-r17,
ephemerisInfo-r17              EphemerisInfo-r17
}

-- TAG-OTHERCONFIG-STOP
-- ASN1STOP

-- ASN1START

-- TAG-PHYSCELLIDUTRA-FDD-START

PhysCellIdUTRA-FDD-r16 ::=        INTEGER (0..511)

-- TAG-PHYSCELLIDUTRA-FDD-STOP
-- ASN1STOP

-- ASN1START

-- TAG-RRC-TRANSACTIONIDENTIFIER-START

RRC-TransactionIdentifier ::=       INTEGER (0..3)

-- TAG-RRC-TRANSACTIONIDENTIFIER-STOP
-- ASN1STOP

-- ASN1START

-- TAG-SENSORNAMELIST-START

Sensor-NameList-r16 ::= SEQUENCE {
    measUncomBarPre-r16     ENUMERATED {true}            OPTIONAL,  -- Need R
    measUeSpeed             ENUMERATED {true}            OPTIONAL,  -- Need R
    measUeOrientation       ENUMERATED {true}            OPTIONAL   -- Need R
}

-- TAG-SENSORNAMELIST-STOP
-- ASN1STOP

-- ASN1START

-- TAG-TRACEREFERENCE-START

TraceReference-r16 ::= SEQUENCE {
    plmn-Identity-r16      PLMN-Identity,
    traceId-r16            OCTET STRING (SIZE (3))
}

-- TAG-TRACEREFERENCE-STOP
-- ASN1STOP

-- ASN1START

-- TAG-UE-MeasurementsAvailable-START

UE-MeasurementsAvailable-r16 ::=              SEQUENCE {
    logMeasAvailable-r16                         ENUMERATED {true}               OPTIONAL,
    logMeasAvailableBT-r16                       ENUMERATED {true}               OPTIONAL,
    logMeasAvailableWLAN-r16                     ENUMERATED {true}               OPTIONAL,
    connEstFailInfoAvailable-r16                 ENUMERATED {true}               OPTIONAL,
    rlf-InfoAvailable-r16                        ENUMERATED {true}               OPTIONAL,
    ...,
    [[
    successHO-InfoAvailable-r17                  ENUMERATED {true}               OPTIONAL,
    sigLogMeasConfigAvailable-r17                BOOLEAN                         OPTIONAL
    ]]
}

-- TAG-UE-MeasurementsAvailable-STOP
-- ASN1STOP

-- ASN1START

-- TAG-UTRA-FDD-Q-OFFSETRANGE-START

UTRA-FDD-Q-OffsetRange-r16 ::=              ENUMERATED {
                                                dB-24, dB-22, dB-20, dB-18, dB-16, dB-14,
                                                dB-12, dB-10, dB-8, dB-6, dB-5, dB-4, dB-3,
                                                dB-2, dB-1, dB0, dB1, dB2, dB3, dB4, dB5,
                                                dB6, dB8, dB10, dB12, dB14, dB16, dB18,
                                                dB20, dB22, dB24}

-- TAG-UTRA-FDD-Q-OFFSETRANGE-STOP
-- ASN1STOP

-- ASN1START

-- TAG-VISITEDCELLINFOLIST-START

VisitedCellInfoList-r16 ::= SEQUENCE (SIZE (1..maxCellHistory-r16)) OF VisitedCellInfo-r16

VisitedCellInfo-r16 ::=  SEQUENCE {
    visitedCellId-r16        CHOICE {
        nr-CellId-r16            CHOICE {
            cgi-Info                 CGI-Info-Logging-r16,
            pci-arfcn-r16            PCI-ARFCN-NR-r16
        },
        eutra-CellId-r16         CHOICE {
            cellGlobalId-r16         CGI-InfoEUTRA,
            pci-arfcn-r16                PCI-ARFCN-EUTRA-r16
        }
    }                                        OPTIONAL,
    timeSpent-r16            INTEGER (0..4095),
    ...,
    [[
    visitedPSCellInfoListReport-r17    VisitedPSCellInfoList-r17                   OPTIONAL
    ]]
}

VisitedPSCellInfoList-r17 ::= SEQUENCE (SIZE (1..maxPSCellHistory-r17)) OF VisitedPSCellInfo-r17

VisitedPSCellInfo-r17 ::=    SEQUENCE {
    visitedCellId-r17            CHOICE {
        nr-CellId-r17                CHOICE {
            cgi-Info-r17                 CGI-Info-Logging-r16,
            pci-arfcn-r17                PCI-ARFCN-NR-r16
        },
        eutra-CellId-r17         CHOICE {
            cellGlobalId-r17         CGI-InfoEUTRALogging,
            pci-arfcn-r17            PCI-ARFCN-EUTRA-r16
        }
    }                                                 OPTIONAL,
    timeSpent-r17            INTEGER (0..4095),
    ...
}

-- TAG-VISITEDCELLINFOLIST-STOP
-- ASN1STOP

-- ASN1START

-- TAG-WLANNAMELIST-START

WLAN-NameList-r16 ::= SEQUENCE (SIZE (1..maxWLAN-Name-r16)) OF WLAN-Name-r16

WLAN-Name-r16 ::= OCTET STRING (SIZE (1..32))

-- ASN1STOP

-- ASN1START

-- TAG-SL-BWP-CONFIG-START

SL-BWP-Config-r16 ::=                    SEQUENCE {
    sl-BWP-Id                                BWP-Id,
    sl-BWP-Generic-r16                       SL-BWP-Generic-r16                                   OPTIONAL,    -- Need M
    sl-BWP-PoolConfig-r16                    SL-BWP-PoolConfig-r16                                OPTIONAL,    -- Need M
    ...,
    [[
    sl-BWP-PoolConfigPS-r17              SetupRelease {SL-BWP-PoolConfig-r16}                     OPTIONAL,    -- Need M
    sl-BWP-DiscPoolConfig-r17            SetupRelease {SL-BWP-DiscPoolConfig-r17}                 OPTIONAL     -- Need M
    ]]
}

SL-BWP-Generic-r16 ::=                   SEQUENCE {
    sl-BWP-r16                               BWP                                                                OPTIONAL,    -- Need M
    sl-LengthSymbols-r16                     ENUMERATED {sym7, sym8, sym9, sym10, sym11, sym12, sym13, sym14}   OPTIONAL,    -- Need M
    sl-StartSymbol-r16                       ENUMERATED {sym0, sym1, sym2, sym3, sym4, sym5, sym6, sym7}        OPTIONAL,    -- Need M
    sl-PSBCH-Config-r16                      SetupRelease {SL-PSBCH-Config-r16}                                 OPTIONAL,    -- Need M
    sl-TxDirectCurrentLocation-r16           INTEGER (0..3301)                                                  OPTIONAL,    -- Need M
    ...
}

-- TAG-SL-BWP-CONFIG-STOP
-- ASN1STOP

-- ASN1START

-- TAG-SL-BWP-CONFIGCOMMON-START

SL-BWP-ConfigCommon-r16 ::=              SEQUENCE {
    sl-BWP-Generic-r16                       SL-BWP-Generic-r16                                         OPTIONAL,    -- Need R
    sl-BWP-PoolConfigCommon-r16              SL-BWP-PoolConfigCommon-r16                                OPTIONAL,    -- Need R
    ...,
    [[
    sl-BWP-PoolConfigCommonPS-r17            SL-BWP-PoolConfigCommon-r16                                OPTIONAL,    -- Need R
    sl-BWP-DiscPoolConfigCommon-r17          SL-BWP-DiscPoolConfigCommon-r17                            OPTIONAL     -- Need R
    ]]
}

-- TAG-SL-BWP-CONFIGCOMMON-STOP
-- ASN1STOP

-- ASN1START

-- TAG-SL-BWP-DISCPOOLCONFIG-START

SL-BWP-DiscPoolConfig-r17 ::=        SEQUENCE {
    sl-DiscRxPool-r17                    SEQUENCE (SIZE (1..maxNrofRXPool-r16)) OF SL-ResourcePool-r16        OPTIONAL,    -- Cond HO
    sl-DiscTxPoolSelected-r17            SL-TxPoolDedicated-r16                                               OPTIONAL,    -- Need M
    sl-DiscTxPoolScheduling-r17          SL-TxPoolDedicated-r16                                               OPTIONAL     -- Need N
}

-- TAG-SL-BWP-DISCPOOLCONFIG-STOP
-- ASN1STOP

-- ASN1START

-- TAG-SL-BWP-DISCPOOLCONFIGCOMMON-START

SL-BWP-DiscPoolConfigCommon-r17 ::= SEQUENCE {
    sl-DiscRxPool-r17                   SEQUENCE (SIZE (1..maxNrofRXPool-r16)) OF SL-ResourcePool-r16         OPTIONAL,    -- Need R
    sl-DiscTxPoolSelected-r17           SEQUENCE (SIZE (1..maxNrofTXPool-r16)) OF SL-ResourcePoolConfig-r16   OPTIONAL,    -- Need R
    ...
}

-- TAG-SL-BWP-DISCPOOLCONFIGCOMMON-STOP
-- ASN1STOP

-- ASN1START

-- TAG-SL-BWP-POOLCONFIG-START

SL-BWP-PoolConfig-r16 ::=        SEQUENCE {
    sl-RxPool-r16                    SEQUENCE (SIZE (1..maxNrofRXPool-r16)) OF SL-ResourcePool-r16        OPTIONAL,    -- Cond HO
    sl-TxPoolSelectedNormal-r16      SL-TxPoolDedicated-r16                                               OPTIONAL,    -- Need M
    sl-TxPoolScheduling-r16          SL-TxPoolDedicated-r16                                               OPTIONAL,    -- Need N
    sl-TxPoolExceptional-r16         SL-ResourcePoolConfig-r16                                            OPTIONAL     -- Need M
}

SL-TxPoolDedicated-r16 ::=       SEQUENCE {
    sl-PoolToReleaseList-r16         SEQUENCE (SIZE (1..maxNrofTXPool-r16)) OF SL-ResourcePoolID-r16      OPTIONAL,    -- Need N
    sl-PoolToAddModList-r16          SEQUENCE (SIZE (1..maxNrofTXPool-r16)) OF SL-ResourcePoolConfig-r16  OPTIONAL     -- Need N
}

SL-ResourcePoolConfig-r16 ::=    SEQUENCE {
    sl-ResourcePoolID-r16            SL-ResourcePoolID-r16,
    sl-ResourcePool-r16              SL-ResourcePool-r16                                                  OPTIONAL    -- Need M
}

SL-ResourcePoolID-r16 ::=        INTEGER (1..maxNrofPoolID-r16)

-- TAG-SL-BWP-POOLCONFIG-STOP
-- ASN1STOP

-- ASN1START

-- TAG-SL-BWP-POOLCONFIGCOMMON-START

SL-BWP-PoolConfigCommon-r16 ::=      SEQUENCE {
    sl-RxPool-r16                        SEQUENCE (SIZE (1..maxNrofRXPool-r16)) OF SL-ResourcePool-r16         OPTIONAL,    -- Need R
    sl-TxPoolSelectedNormal-r16          SEQUENCE (SIZE (1..maxNrofTXPool-r16)) OF SL-ResourcePoolConfig-r16   OPTIONAL,    -- Need R
    sl-TxPoolExceptional-r16             SL-ResourcePoolConfig-r16                                             OPTIONAL     -- Need R
}

-- TAG-SL-BWP-POOLCONFIGCOMMON-STOP
-- ASN1STOP

-- ASN1START

-- TAG-SL-CBR-PRIORITYTXCONFIGLIST-START

SL-CBR-PriorityTxConfigList-r16 ::= SEQUENCE (SIZE (1..8)) OF SL-PriorityTxConfigIndex-r16

SL-CBR-PriorityTxConfigList-v1650 ::= SEQUENCE (SIZE (1..8)) OF SL-PriorityTxConfigIndex-v1650

SL-PriorityTxConfigIndex-r16 ::=    SEQUENCE {
    sl-PriorityThreshold-r16             INTEGER (1..8)                                                   OPTIONAL,    -- Need M
    sl-DefaultTxConfigIndex-r16          INTEGER (0..maxCBR-Level-1-r16)                                  OPTIONAL,    -- Need M
    sl-CBR-ConfigIndex-r16               INTEGER (0..maxCBR-Config-1-r16)                                 OPTIONAL,    -- Need M
    sl-Tx-ConfigIndexList-r16            SEQUENCE (SIZE (1..maxCBR-Level-r16)) OF SL-TxConfigIndex-r16   OPTIONAL     -- Need M
}

SL-PriorityTxConfigIndex-v1650 ::=  SEQUENCE {
    sl-MCS-RangeList-r16                SEQUENCE (SIZE (1..maxCBR-Level-r16)) OF SL-MinMaxMCS-List-r16    OPTIONAL     -- Need M
}

SL-TxConfigIndex-r16 ::=            INTEGER (0..maxTxConfig-1-r16)

-- TAG-SL-CBR-PRIORITYTXCONFIGLIST-STOP
-- ASN1STOP

-- ASN1START

-- TAG-SL-CBR-COMMONTXCONFIGLIST-START

SL-CBR-CommonTxConfigList-r16 ::=     SEQUENCE {
    sl-CBR-RangeConfigList-r16            SEQUENCE (SIZE (1..maxCBR-Config-r16)) OF SL-CBR-LevelsConfig-r16     OPTIONAL,   -- Need M
    sl-CBR-PSSCH-TxConfigList-r16         SEQUENCE (SIZE (1..maxTxConfig-r16)) OF SL-CBR-PSSCH-TxConfig-r16    OPTIONAL    -- Need M
}

SL-CBR-LevelsConfig-r16 ::=           SEQUENCE (SIZE (1..maxCBR-Level-r16)) OF SL-CBR-r16

SL-CBR-PSSCH-TxConfig-r16 ::=         SEQUENCE {
    sl-CR-Limit-r16                       INTEGER(0..10000)                                                     OPTIONAL,   -- Need M
    sl-TxParameters-r16                   SL-PSSCH-TxParameters-r16                                             OPTIONAL    -- Need M
}

SL-CBR-r16 ::=                        INTEGER (0..100)

-- TAG-SL-CBR-COMMONTXCONFIGLIST-STOP
-- ASN1STOP

-- ASN1START

-- TAG-SL-CONFIGDEDICATEDNR-START

SL-ConfigDedicatedNR-r16 ::=         SEQUENCE {
    sl-PHY-MAC-RLC-Config-r16            SL-PHY-MAC-RLC-Config-r16                                              OPTIONAL,    -- Need M
    sl-RadioBearerToReleaseList-r16      SEQUENCE (SIZE (1..maxNrofSLRB-r16)) OF SLRB-Uu-ConfigIndex-r16        OPTIONAL,    -- Need N
    sl-RadioBearerToAddModList-r16       SEQUENCE (SIZE (1..maxNrofSLRB-r16)) OF SL-RadioBearerConfig-r16       OPTIONAL,    -- Need N
    sl-MeasConfigInfoToReleaseList-r16   SEQUENCE (SIZE (1..maxNrofSL-Dest-r16)) OF SL-DestinationIndex-r16     OPTIONAL,    -- Need N
    sl-MeasConfigInfoToAddModList-r16    SEQUENCE (SIZE (1..maxNrofSL-Dest-r16)) OF SL-MeasConfigInfo-r16       OPTIONAL,    -- Need N
    t400-r16                             ENUMERATED {ms100, ms200, ms300, ms400, ms600, ms1000, ms1500, ms2000} OPTIONAL,    -- Need M
    ...,
    [[
    sl-PHY-MAC-RLC-Config-v1700          SetupRelease { SL-PHY-MAC-RLC-Config-v1700 }                           OPTIONAL,    -- Need M
    sl-DiscConfig-r17                    SetupRelease { SL-DiscConfig-r17}                                      OPTIONAL     -- Need M
    ]]
}

SL-DestinationIndex-r16 ::=             INTEGER (0..maxNrofSL-Dest-1-r16)

SL-PHY-MAC-RLC-Config-r16 ::=         SEQUENCE {
    sl-ScheduledConfig-r16               SetupRelease { SL-ScheduledConfig-r16 }                                OPTIONAL,    -- Need M
    sl-UE-SelectedConfig-r16             SetupRelease { SL-UE-SelectedConfig-r16 }                              OPTIONAL,    -- Need M
    sl-FreqInfoToReleaseList-r16         SEQUENCE (SIZE (1..maxNrofFreqSL-r16)) OF SL-Freq-Id-r16               OPTIONAL,    -- Need N
    sl-FreqInfoToAddModList-r16          SEQUENCE (SIZE (1..maxNrofFreqSL-r16)) OF SL-FreqConfig-r16            OPTIONAL,    -- Need N
    sl-RLC-BearerToReleaseList-r16       SEQUENCE (SIZE (1..maxSL-LCID-r16)) OF SL-RLC-BearerConfigIndex-r16    OPTIONAL,    -- Need N
    sl-RLC-BearerToAddModList-r16        SEQUENCE (SIZE (1..maxSL-LCID-r16)) OF SL-RLC-BearerConfig-r16         OPTIONAL,    -- Need N
    sl-MaxNumConsecutiveDTX-r16          ENUMERATED {n1, n2, n3, n4, n6, n8, n16, n32}                          OPTIONAL,    -- Need M
    sl-CSI-Acquisition-r16               ENUMERATED {enabled}                                                   OPTIONAL,    -- Need R
    sl-CSI-SchedulingRequestId-r16       SetupRelease {SchedulingRequestId}                                     OPTIONAL,    -- Need M
    sl-SSB-PriorityNR-r16                INTEGER (1..8)                                                         OPTIONAL,    -- Need R
    networkControlledSyncTx-r16          ENUMERATED {on, off}                                                   OPTIONAL     -- Need M
}

SL-PHY-MAC-RLC-Config-v1700 ::=      SEQUENCE {
    sl-DRX-Config-r17                    SL-DRX-Config-r17                                                      OPTIONAL,    -- Need M
    sl-RLC-ChannelToReleaseList-r17      SEQUENCE (SIZE (1..maxSL-LCID-r16)) OF SL-RLC-ChannelID-r17            OPTIONAL, -- Cond L2U2N
    sl-RLC-ChannelToAddModList-r17       SEQUENCE (SIZE (1..maxSL-LCID-r16)) OF SL-RLC-ChannelConfig-r17        OPTIONAL, -- Cond L2U2N
    ...
}

SL-DiscConfig-r17 ::=                 SEQUENCE {
    sl-RelayUE-Config-r17                SetupRelease { SL-RelayUE-Config-r17}                                  OPTIONAL, -- Cond L2RelayUE
    sl-RemoteUE-Config-r17               SetupRelease { SL-RemoteUE-Config-r17}                                 OPTIONAL  -- Cond L2RemoteUE
}

-- TAG-SL-CONFIGDEDICATEDNR-STOP
-- ASN1STOP

-- ASN1START

-- TAG-SL-CONFIGUREDGRANTCONFIG-START

SL-ConfiguredGrantConfig-r16 ::=           SEQUENCE {
    sl-ConfigIndexCG-r16                       SL-ConfigIndexCG-r16,
    sl-PeriodCG-r16                            SL-PeriodCG-r16                                                       OPTIONAL, -- Need M
    sl-NrOfHARQ-Processes-r16                  INTEGER (1..16)                                                       OPTIONAL, -- Need M
    sl-HARQ-ProcID-offset-r16                  INTEGER (0..15)                                                       OPTIONAL, -- Need M
    sl-CG-MaxTransNumList-r16                  SL-CG-MaxTransNumList-r16                                             OPTIONAL, -- Need M
    rrc-ConfiguredSidelinkGrant-r16            SEQUENCE {
        sl-TimeResourceCG-Type1-r16                INTEGER (0..496)                                                  OPTIONAL, -- Need M
        sl-StartSubchannelCG-Type1-r16             INTEGER (0..26)                                                   OPTIONAL, -- Need M
        sl-FreqResourceCG-Type1-r16                INTEGER (0..6929)                                                 OPTIONAL, -- Need M
        sl-TimeOffsetCG-Type1-r16                  INTEGER (0..7999)                                                 OPTIONAL, -- Need R
        sl-N1PUCCH-AN-r16                          PUCCH-ResourceId                                                  OPTIONAL, -- Need M
        sl-PSFCH-ToPUCCH-CG-Type1-r16              INTEGER (0..15)                                                   OPTIONAL, -- Need M
        sl-ResourcePoolID-r16                      SL-ResourcePoolID-r16                                             OPTIONAL, -- Need M
        sl-TimeReferenceSFN-Type1-r16              ENUMERATED {sfn512}                                               OPTIONAL  -- Need S
    }                                                                                                                OPTIONAL, -- Need M
    ...,
    [[
    sl-N1PUCCH-AN-Type2-r16                    PUCCH-ResourceId                                                      OPTIONAL  -- Need M
    ]]
}

SL-ConfigIndexCG-r16 ::=          INTEGER (0..maxNrofCG-SL-1-r16)

SL-CG-MaxTransNumList-r16 ::=     SEQUENCE (SIZE (1..8)) OF SL-CG-MaxTransNum-r16

SL-CG-MaxTransNum-r16 ::=                  SEQUENCE {
    sl-Priority-r16                            INTEGER (1..8),
    sl-MaxTransNum-r16                         INTEGER (1..32)
}

SL-PeriodCG-r16 ::=            CHOICE{
    sl-PeriodCG1-r16               ENUMERATED {ms100, ms200, ms300, ms400, ms500, ms600, ms700, ms800, ms900, ms1000, spare6,
                                               spare5, spare4, spare3, spare2, spare1},
    sl-PeriodCG2-r16               INTEGER (1..99)
}

-- TAG-SL-CONFIGUREDGRANTCONFIG-STOP
-- ASN1STOP

-- ASN1START

-- TAG-SL-DESTINATIONIDENTITY-START

SL-DestinationIdentity-r16 ::=           BIT STRING (SIZE (24))

-- TAG-SL-DESTINATIONIDENTITY-STOP
-- ASN1STOP

-- ASN1START

-- TAG-SL-DRX-CONFIG-START

SL-DRX-Config-r17 ::=                      SEQUENCE {
    sl-DRX-ConfigGC-BC-r17                     SL-DRX-ConfigGC-BC-r17                                                 OPTIONAL,     -- Cond HO
    sl-DRX-ConfigUC-ToReleaseList-r17          SEQUENCE (SIZE (1..maxNrofSL-Dest-r16)) OF SL-DestinationIndex-r16     OPTIONAL,     -- Need N
    sl-DRX-ConfigUC-ToAddModList-r17           SEQUENCE (SIZE (1..maxNrofSL-Dest-r16)) OF SL-DRX-ConfigUC-Info-r17    OPTIONAL,     -- Need N
    ...
}

SL-DRX-ConfigUC-Info-r17 ::=               SEQUENCE {
    sl-DestinationIndex-r17                    SL-DestinationIndex-r16                                                OPTIONAL,     -- Need N
    sl-DRX-ConfigUC-r17                        SL-DRX-ConfigUC-r17                                                    OPTIONAL,     -- Need N
    ...
}

-- TAG-SL-DRX-CONFIG-STOP
-- ASN1STOP

-- ASN1START

-- TAG-SL-DRX-CONFIGGC-BC-START

SL-DRX-ConfigGC-BC-r17 ::=      SEQUENCE {
    sl-DRX-GC-BC-PerQoS-List-r17    SEQUENCE (SIZE (1..maxSL-GC-BC-DRX-QoS-r17)) OF SL-DRX-GC-BC-QoS-r17        OPTIONAL,    -- Need M
    sl-DRX-GC-generic-r17           SL-DRX-GC-Generic-r17                                                       OPTIONAL,    -- Need M
    sl-DefaultDRX-GC-BC-r17         SL-DRX-GC-BC-QoS-r17                                                        OPTIONAL,    -- Need M
    ...
}

SL-DRX-GC-BC-QoS-r17 ::=            SEQUENCE {
    sl-DRX-GC-BC-MappedQoS-FlowList-r17 SEQUENCE (SIZE (1..maxNrofSL-QFIs-r16)) OF SL-QoS-Profile-r16       OPTIONAL,    -- Need M
    sl-DRX-GC-BC-OnDurationTimer-r17        CHOICE {
                                                subMilliSeconds INTEGER (1..31),
                                                milliSeconds    ENUMERATED {
                                                      ms1, ms2, ms3, ms4, ms5,ms6, ms8, ms10, ms20, ms30, ms40, ms50, ms60,
                                                      ms80, ms100, ms200, ms300, ms400, ms500, ms600, ms800, ms1000, ms1200,
                                                      ms1600, spare8, spare7, spare6, spare5, spare4, spare3, spare2, spare1}
                                            },
    sl-DRX-GC-InactivityTimer-r17           ENUMERATED {
                                                ms0, ms1, ms2, ms3, ms4, ms5, ms6, ms8, ms10, ms20, ms30, ms40, ms50, ms60, ms80,
                                                ms100, ms200, ms300, ms500, ms750, ms1280, ms1920, ms2560, spare9, spare8,
                                                spare7, spare6, spare5, spare4, spare3, spare2, spare1},
    sl-DRX-GC-BC-Cycle-r17                  ENUMERATED {
                                                ms10, ms20, ms32, ms40, ms60, ms64, ms70, ms80, ms128, ms160, ms256, ms320, ms512,
                                                ms640, ms1024, ms1280, ms2048, ms2560, ms5120, ms10240, spare12, spare11, spare10,
                                                spare9, spare8, spare7, spare6, spare5, spare4, spare3, spare2, spare1},
    ...
}

SL-DRX-GC-Generic-r17 ::=               SEQUENCE {
    sl-DRX-GC-HARQ-RTT-Timer1-r17           ENUMERATED {sl0, sl1, sl2, sl4, spare4, spare3, spare2, spare1}       OPTIONAL,  -- Need M
    sl-DRX-GC-HARQ-RTT-Timer2-r17           ENUMERATED {sl0, sl1, sl2, sl4, spare4, spare3, spare2, spare1}       OPTIONAL,  -- Need M
    sl-DRX-GC-RetransmissionTimer-r17       ENUMERATED {
                                                sl0, sl1, sl2, sl4, sl6, sl8, sl16, sl24, sl33, sl40, sl64, sl80, sl96, sl112, sl128,
                                                sl160, sl320, spare15, spare14, spare13, spare12, spare11, spare10, spare9, spare8,
                                                spare7, spare6, spare5, spare4, spare3, spare2, spare1}
}

-- TAG-SL-DRX-CONFIGGC-BC-STOP
-- ASN1STOP

-- ASN1START

-- TAG-DRX-CONFIGUC-START

SL-DRX-ConfigUC-r17 ::=                 SEQUENCE {
    sl-drx-onDurationTimer-r17              CHOICE {
                                                subMilliSeconds INTEGER (1..31),
                                                milliSeconds    ENUMERATED {
                                                    ms1, ms2, ms3, ms4, ms5, ms6, ms8, ms10, ms20, ms30, ms40, ms50, ms60,
                                                    ms80, ms100, ms200, ms300, ms400, ms500, ms600, ms800, ms1000, ms1200,
                                                    ms1600, spare8, spare7, spare6, spare5, spare4, spare3, spare2, spare1}
                                            },
    sl-drx-InactivityTimer-r17              ENUMERATED {
                                                ms0, ms1, ms2, ms3, ms4, ms5, ms6, ms8, ms10, ms20, ms30, ms40, ms50, ms60, ms80,
                                                ms100, ms200, ms300, ms500, ms750, ms1280, ms1920, ms2560, spare9, spare8,
                                                spare7, spare6, spare5, spare4, spare3, spare2, spare1},
    sl-drx-HARQ-RTT-Timer1-r17              ENUMERATED {sl0, sl1, sl2, sl4, spare4, spare3, spare2, spare1}     OPTIONAL,   -- Need M
    sl-drx-HARQ-RTT-Timer2-r17              ENUMERATED {sl0, sl1, sl2, sl4, spare4, spare3, spare2, spare1}     OPTIONAL,   -- Need M
    sl-drx-RetransmissionTimer-r17          ENUMERATED {
                                                sl0, sl1, sl2, sl4, sl6, sl8, sl16, sl24, sl33, sl40, sl64, sl80, sl96, sl112, sl128,
                                                sl160, sl320, spare15, spare14, spare13, spare12, spare11, spare10, spare9,
                                                spare8, spare7, spare6, spare5, spare4, spare3, spare2, spare1},
    sl-drx-CycleStartOffset-r17         CHOICE {
        ms10                                INTEGER(0..9),
        ms20                                INTEGER(0..19),
        ms32                                INTEGER(0..31),
        ms40                                INTEGER(0..39),
        ms60                                INTEGER(0..59),
        ms64                                INTEGER(0..63),
        ms70                                INTEGER(0..69),
        ms80                                INTEGER(0..79),
        ms128                               INTEGER(0..127),
        ms160                               INTEGER(0..159),
        ms256                               INTEGER(0..255),
        ms320                               INTEGER(0..319),
        ms512                               INTEGER(0..511),
        ms640                               INTEGER(0..639),
        ms1024                              INTEGER(0..1023),
        ms1280                              INTEGER(0..1279),
        ms2048                              INTEGER(0..2047),
        ms2560                              INTEGER(0..2559),
        ms5120                              INTEGER(0..5119),
        ms10240                             INTEGER(0..10239)
    },
    sl-drx-SlotOffset                       INTEGER (0..31)
}

-- TAG-SL-DRX-CONFIGUC-STOP
-- ASN1STOP

-- ASN1START

-- TAG-DRX-CONFIGUCSEMISTATIC-START

SL-DRX-ConfigUC-SemiStatic-r17 ::=          SEQUENCE {
    sl-drx-onDurationTimer-r17                  CHOICE {
                                                    subMilliSeconds INTEGER (1..31),
                                                    milliSeconds    ENUMERATED {
                                                        ms1, ms2, ms3, ms4, ms5, ms6, ms8, ms10, ms20, ms30, ms40, ms50, ms60,
                                                        ms80, ms100, ms200, ms300, ms400, ms500, ms600, ms800, ms1000, ms1200,
                                                        ms1600, spare8, spare7, spare6, spare5, spare4, spare3, spare2, spare1}
                                            },
    sl-drx-CycleStartOffset-r17                 CHOICE {
        ms10                                        INTEGER(0..9),
        ms20                                        INTEGER(0..19),
        ms32                                        INTEGER(0..31),
        ms40                                        INTEGER(0..39),
        ms60                                        INTEGER(0..59),
        ms64                                        INTEGER(0..63),
        ms70                                        INTEGER(0..69),
        ms80                                        INTEGER(0..79),
        ms128                                       INTEGER(0..127),
        ms160                                       INTEGER(0..159),
        ms256                                       INTEGER(0..255),
        ms320                                       INTEGER(0..319),
        ms512                                       INTEGER(0..511),
        ms640                                       INTEGER(0..639),
        ms1024                                      INTEGER(0..1023),
        ms1280                                      INTEGER(0..1279),
        ms2048                                      INTEGER(0..2047),
        ms2560                                      INTEGER(0..2559),
        ms5120                                      INTEGER(0..5119),
        ms10240                                     INTEGER(0..10239)
    },
    sl-drx-SlotOffset-r17                   INTEGER (0..31)
}

-- TAG-SL-DRX-CONFIGUCSEMISTATIC-STOP
-- ASN1STOP

-- ASN1START

-- TAG-SL-FREQCONFIG-START

SL-FreqConfig-r16 ::=              SEQUENCE {
    sl-Freq-Id-r16                     SL-Freq-Id-r16,
    sl-SCS-SpecificCarrierList-r16     SEQUENCE (SIZE (1..maxSCSs)) OF SCS-SpecificCarrier,
    sl-AbsoluteFrequencyPointA-r16     ARFCN-ValueNR                                                   OPTIONAL,  -- Need M
    sl-AbsoluteFrequencySSB-r16        ARFCN-ValueNR                                                   OPTIONAL,  -- Need R
    frequencyShift7p5khzSL-r16         ENUMERATED {true}                                               OPTIONAL,  -- Cond V2X-SL-Shared
    valueN-r16                         INTEGER (-1..1),
    sl-BWP-ToReleaseList-r16           SEQUENCE (SIZE (1..maxNrofSL-BWPs-r16)) OF BWP-Id               OPTIONAL,  -- Need N
    sl-BWP-ToAddModList-r16            SEQUENCE (SIZE (1..maxNrofSL-BWPs-r16)) OF SL-BWP-Config-r16    OPTIONAL,  -- Need N
    sl-SyncConfigList-r16              SL-SyncConfigList-r16                                           OPTIONAL,  -- Need M
    sl-SyncPriority-r16                ENUMERATED {gnss, gnbEnb}                                       OPTIONAL   -- Need M
}

SL-Freq-Id-r16 ::=                     INTEGER (1..maxNrofFreqSL-r16)

-- TAG-SL-FREQCONFIG-STOP
-- ASN1STOP

-- ASN1START

-- TAG-SL-FREQCONFIGCOMMON-START

SL-FreqConfigCommon-r16 ::=      SEQUENCE {
    sl-SCS-SpecificCarrierList-r16   SEQUENCE (SIZE (1..maxSCSs)) OF SCS-SpecificCarrier,
    sl-AbsoluteFrequencyPointA-r16   ARFCN-ValueNR,
    sl-AbsoluteFrequencySSB-r16      ARFCN-ValueNR                                                       OPTIONAL, -- Need R
    frequencyShift7p5khzSL-r16       ENUMERATED {true}                                                   OPTIONAL, -- Cond V2X-SL-Shared
    valueN-r16                       INTEGER (-1..1),
    sl-BWP-List-r16                  SEQUENCE (SIZE (1..maxNrofSL-BWPs-r16)) OF SL-BWP-ConfigCommon-r16  OPTIONAL, -- Need R
    sl-SyncPriority-r16              ENUMERATED {gnss, gnbEnb}                                           OPTIONAL, -- Need R
    sl-NbAsSync-r16                  BOOLEAN                                                             OPTIONAL, -- Need R
    sl-SyncConfigList-r16            SL-SyncConfigList-r16                                               OPTIONAL, -- Need R
    ...
}
-- TAG-SL-FREQCONFIGCOMMON-STOP
-- ASN1STOP

-- ASN1START

-- TAG-SL-INTERUE-COORDINATIONCONFIG-START

SL-InterUE-CoordinationConfig-r17 ::=     SEQUENCE {
    sl-InterUE-CoordinationScheme1-r17        SL-InterUE-CoordinationScheme1-r17                                   OPTIONAL,   -- Need M
    sl-InterUE-CoordinationScheme2-r17        SL-InterUE-CoordinationScheme2-r17                                   OPTIONAL,   -- Need M
    ...
}

SL-InterUE-CoordinationScheme1-r17 ::=    SEQUENCE {
    sl-IUC-Explicit-r17                       ENUMERATED {enabled, disabled}                                       OPTIONAL,   -- Need M
    sl-IUC-Condition-r17                      ENUMERATED {enabled, disabled}                                       OPTIONAL,   -- Need M
    sl-Condition1-A-2-r17                     ENUMERATED {disabled}                                                OPTIONAL,   -- Need M
    sl-ThresholdRSRP-Condition1-B-1-Option1List-r17  SEQUENCE (SIZE (1..8)) OF SL-ThresholdRSRP-Condition1-B-1-r17 OPTIONAL,   -- Need M
    sl-ThresholdRSRP-Condition1-B-1-Option2List-r17  SEQUENCE (SIZE (1..8)) OF SL-ThresholdRSRP-Condition1-B-1-r17 OPTIONAL,   -- Need M
    sl-ContainerCoordInfo-r17                 ENUMERATED {enabled, disabled}                                       OPTIONAL,   -- Need M
    sl-ContainerRequest-r17                   ENUMERATED {enabled, disabled}                                       OPTIONAL,   -- Need M
    sl-TriggerConditionCoordInfo-r17          INTEGER (0..1)                                                       OPTIONAL,   -- Need M
    sl-TriggerConditionRequest-r17            INTEGER (0..1)                                                       OPTIONAL,   -- Need M
    sl-PriorityCoordInfoExplicit-r17          INTEGER (1..8)                                                       OPTIONAL,   -- Need M
    sl-PriorityCoordInfoCondition-r17         INTEGER (1..8)                                                       OPTIONAL,   -- Need M
    sl-PriorityRequest-r17                    INTEGER (1..8)                                                       OPTIONAL,   -- Need M
    sl-PriorityPreferredResourceSet-r17       INTEGER (1..8)                                                       OPTIONAL,   -- Need M
    sl-MaxSlotOffsetTRIV-r17                  INTEGER (1..8000)                                                    OPTIONAL,   -- Need M
    sl-NumSubCH-PreferredResourceSet-r17      INTEGER (1..27)                                                      OPTIONAL,   -- Need M
    sl-ReservedPeriodPreferredResourceSet-r17 INTEGER (1..16)                                                      OPTIONAL,   -- Need M
    sl-DetermineResourceType-r17              ENUMERATED {uea, ueb}                                                OPTIONAL,   -- Need M
    ...
}

SL-InterUE-CoordinationScheme2-r17 ::=    SEQUENCE {
    sl-IUC-Scheme2-r17                        ENUMERATED {enabled}                                                 OPTIONAL,   -- Need R
    sl-RB-SetPSFCH-r17                        BIT STRING (SIZE (10..275))                                          OPTIONAL,   -- Need M
    sl-TypeUE-A-r17                           ENUMERATED {enabled}                                                 OPTIONAL,   -- Need R
    sl-PSFCH-Occasion-r17                     INTEGER (0..1)                                                       OPTIONAL,   -- Need M
    sl-SlotLevelResourceExclusion-r17         ENUMERATED {enabled}                                                 OPTIONAL,   -- Need R
    sl-OptionForCondition2-A-1-r17            INTEGER (0..1)                                                       OPTIONAL,   -- Need M
    sl-IndicationUE-B-r17                     ENUMERATED {enabled, disabled}                                       OPTIONAL,   -- Need M
    ...,
    [[
    sl-DeltaRSRP-Thresh-v1720                 INTEGER (-30..30)                                                    OPTIONAL    -- Need M
    ]]
}


SL-ThresholdRSRP-Condition1-B-1-r17 ::=   SEQUENCE {
    sl-Priority-r17                           INTEGER (1..8),
    sl-ThresholdRSRP-Condition1-B-1-r17       INTEGER (0..66)
}

-- TAG-SL-INTERUE-COORDINATIONCONFIG-STOP
-- ASN1STOP

-- ASN1START

-- TAG-SL-LOGICALCHANNELCONFIG-START

SL-LogicalChannelConfig-r16 ::=            SEQUENCE {
    sl-Priority-r16                            INTEGER (1..8),
    sl-PrioritisedBitRate-r16                  ENUMERATED {kBps0, kBps8, kBps16, kBps32, kBps64, kBps128, kBps256, kBps512,
                                               kBps1024, kBps2048, kBps4096, kBps8192, kBps16384, kBps32768, kBps65536, infinity},
    sl-BucketSizeDuration-r16                  ENUMERATED {ms5, ms10, ms20, ms50, ms100, ms150, ms300, ms500, ms1000,
                                               spare7, spare6, spare5, spare4, spare3,spare2, spare1},
    sl-ConfiguredGrantType1Allowed-r16         ENUMERATED {true}                                                        OPTIONAL,   -- Need R
    sl-HARQ-FeedbackEnabled-r16                ENUMERATED {enabled, disabled }                                          OPTIONAL,   -- Need R
    sl-AllowedCG-List-r16                      SEQUENCE (SIZE (0..maxNrofCG-SL-1-r16)) OF SL-ConfigIndexCG-r16
                                                                                                                        OPTIONAL,   -- Need R
    sl-AllowedSCS-List-r16                     SEQUENCE (SIZE (1..maxSCSs)) OF SubcarrierSpacing                        OPTIONAL,   -- Need R
    sl-MaxPUSCH-Duration-r16                   ENUMERATED {ms0p02, ms0p04, ms0p0625, ms0p125, ms0p25, ms0p5, spare2, spare1}
                                                                                                                        OPTIONAL,   -- Need R
    sl-LogicalChannelGroup-r16                 INTEGER (0..maxLCG-ID)                                                   OPTIONAL,   -- Need R
    sl-SchedulingRequestId-r16                 SchedulingRequestId                                                      OPTIONAL,   -- Need R
    sl-LogicalChannelSR-DelayTimerApplied-r16  BOOLEAN                                                                  OPTIONAL,   -- Need R
    ...
}
-- TAG-SL-LOGICALCHANNELCONFIG-STOP
-- ASN1STOP

-- ASN1START

-- TAG-SL-L2RELAYUE-CONFIG-START

SL-L2RelayUE-Config-r17 ::=        SEQUENCE {
    sl-RemoteUE-ToAddModList-r17       SEQUENCE (SIZE (1..maxNrofRemoteUE-r17)) OF SL-RemoteUE-ToAddMod-r17    OPTIONAL,    -- Need N
    sl-RemoteUE-ToReleaseList-r17      SEQUENCE (SIZE (1..maxNrofRemoteUE-r17)) OF SL-DestinationIdentity-r16  OPTIONAL,    -- Need N
    ...
}

SL-RemoteUE-ToAddMod-r17 ::=       SEQUENCE {
    sl-L2IdentityRemote-r17            SL-DestinationIdentity-r16,
    sl-SRAP-ConfigRelay-r17           SL-SRAP-Config-r17                                                    OPTIONAL,    -- Need M
    ...
}

-- TAG-SL-L2RELAYUE-CONFIG-STOP
-- ASN1STOP

-- ASN1START

-- TAG-SL-L2REMOTEUE-CONFIG-START

SL-L2RemoteUE-Config-r17 ::=      SEQUENCE {
    sl-SRAP-ConfigRemote-r17          SL-SRAP-Config-r17                                    OPTIONAL,  --Need M
    sl-UEIdentityRemote-r17           RNTI-Value                                            OPTIONAL, -- Cond FirstRRCReconfig
    ...
}
-- TAG-SL-L2REMOTEUE-CONFIG-STOP
-- ASN1STOP

-- ASN1START

-- TAG-SL-MEASCONFIGCOMMON-START

SL-MeasConfigCommon-r16 ::=          SEQUENCE {
    sl-MeasObjectListCommon-r16          SL-MeasObjectList-r16                                           OPTIONAL,   -- Need R
    sl-ReportConfigListCommon-r16        SL-ReportConfigList-r16                                         OPTIONAL,   -- Need R
    sl-MeasIdListCommon-r16              SL-MeasIdList-r16                                               OPTIONAL,   -- Need R
    sl-QuantityConfigCommon-r16          SL-QuantityConfig-r16                                           OPTIONAL,   -- Need R
    ...
}

-- TAG-SL-MEASCONFIGCOMMON-STOP
-- ASN1STOP

-- ASN1START

-- TAG-SL-MEASCONFIGINFO-START

SL-MeasConfigInfo-r16 ::=           SEQUENCE {
    sl-DestinationIndex-r16             SL-DestinationIndex-r16,
    sl-MeasConfig-r16                   SL-MeasConfig-r16,
    ...
}

SL-MeasConfig-r16 ::=               SEQUENCE {
    sl-MeasObjectToRemoveList-r16       SL-MeasObjectToRemoveList-r16                                           OPTIONAL,   -- Need N
    sl-MeasObjectToAddModList-r16       SL-MeasObjectList-r16                                                   OPTIONAL,   -- Need N
    sl-ReportConfigToRemoveList-r16     SL-ReportConfigToRemoveList-r16                                         OPTIONAL,   -- Need N
    sl-ReportConfigToAddModList-r16     SL-ReportConfigList-r16                                                 OPTIONAL,   -- Need N
    sl-MeasIdToRemoveList-r16           SL-MeasIdToRemoveList-r16                                               OPTIONAL,   -- Need N
    sl-MeasIdToAddModList-r16           SL-MeasIdList-r16                                                       OPTIONAL,   -- Need N
    sl-QuantityConfig-r16               SL-QuantityConfig-r16                                                   OPTIONAL,   -- Need M
    ...
}

SL-MeasObjectToRemoveList-r16 ::=   SEQUENCE (SIZE (1..maxNrofSL-ObjectId-r16)) OF SL-MeasObjectId-r16

SL-ReportConfigToRemoveList-r16 ::= SEQUENCE (SIZE (1..maxNrofSL-ReportConfigId-r16)) OF SL-ReportConfigId-r16

SL-MeasIdToRemoveList-r16 ::=       SEQUENCE (SIZE (1..maxNrofSL-MeasId-r16)) OF SL-MeasId-r16

-- TAG-SL-MEASCONFIGINFO-STOP
-- ASN1STOP

-- ASN1START

-- TAG-SL-MEASIDLIST-START

SL-MeasIdList-r16 ::=               SEQUENCE (SIZE (1..maxNrofSL-MeasId-r16)) OF SL-MeasIdInfo-r16

SL-MeasIdInfo-r16 ::=               SEQUENCE {
    sl-MeasId-r16                       SL-MeasId-r16,
    sl-MeasObjectId-r16                 SL-MeasObjectId-r16,
    sl-ReportConfigId-r16               SL-ReportConfigId-r16,
    ...
}

SL-MeasId-r16 ::=                   INTEGER (1..maxNrofSL-MeasId-r16)

-- TAG-SL-MEASIDLIST-STOP
-- ASN1STOP

-- ASN1START

-- TAG-SL-MEASOBJECTLIST-START

SL-MeasObjectList-r16 ::=               SEQUENCE (SIZE (1..maxNrofSL-ObjectId-r16)) OF SL-MeasObjectInfo-r16

SL-MeasObjectInfo-r16 ::=               SEQUENCE {
    sl-MeasObjectId-r16                     SL-MeasObjectId-r16,
    sl-MeasObject-r16                       SL-MeasObject-r16,
    ...
}

SL-MeasObjectId-r16 ::=                 INTEGER (1..maxNrofSL-ObjectId-r16)

SL-MeasObject-r16 ::=                   SEQUENCE {
    frequencyInfoSL-r16                     ARFCN-ValueNR,
    ...
}

-- TAG-SL-MEASOBJECTLIST-STOP
-- ASN1STOP

-- ASN1START

-- TAG-SL-PAGINGIDENTITYREMOTEUE-START

SL-PagingIdentityRemoteUE-r17 ::=  SEQUENCE {
    ng-5G-S-TMSI-r17                   NG-5G-S-TMSI,
    fullI-RNTI-r17                     I-RNTI-Value                      OPTIONAL   -- Need R
}

-- TAG-SL-PAGINGIDENTITYREMOTEUE-STOP
-- ASN1STOP

-- ASN1START

-- TAG-SL-PBPS-CPS-CONFIG-START

SL-PBPS-CPS-Config-r17 ::=                SEQUENCE {
sl-AllowedResourceSelectionConfig-r17     ENUMERATED {c1, c2, c3, c4, c5, c6, c7}                             OPTIONAL,   -- Need M
sl-MinNumCandidateSlotsPeriodic-r17       INTEGER (1..32)                                                     OPTIONAL,   -- Need M
sl-PBPS-OccasionReservePeriodList-r17     SEQUENCE (SIZE (1..16)) OF INTEGER (1..16)                          OPTIONAL,   -- Need M
sl-Additional-PBPS-Occasion-r17           ENUMERATED { monitored }                                            OPTIONAL,   -- Need M
sl-CPS-WindowPeriodic-r17                 INTEGER (5..30)                                                     OPTIONAL,   -- Need M
sl-MinNumCandidateSlotsAperiodic-r17      INTEGER (1..32)                                                     OPTIONAL,   -- Need M
sl-MinNumRssiMeasurementSlots-r17         INTEGER (1..800)                                                    OPTIONAL,   -- Need M
sl-DefaultCBR-RandomSelection-r17         INTEGER (0..100)                                                    OPTIONAL,   -- Need M
sl-DefaultCBR-PartialSensing-r17          INTEGER (0..100)                                                    OPTIONAL,   -- Need M
sl-CPS-WindowAperiodic-r17                INTEGER (0..30)                                                     OPTIONAL,   -- Need M
sl-PartialSensingInactiveTime-r17         ENUMERATED { enabled, disabled }                                    OPTIONAL,   -- Need M
    ...
}

-- TAG-SL-PBPS-CPS-CONFIG-STOP
-- ASN1STOP

-- ASN1START

-- TAG-SL-PDCP-CONFIG-START

SL-PDCP-Config-r16 ::=       SEQUENCE {
    sl-DiscardTimer-r16          ENUMERATED {ms3, ms10, ms20, ms25, ms30, ms40, ms50, ms60, ms75, ms100, ms150, ms200,
                                 ms250, ms300, ms500, ms750, ms1500, infinity}                                   OPTIONAL, -- Cond Setup
    sl-PDCP-SN-Size-r16          ENUMERATED {len12bits, len18bits}                                               OPTIONAL, -- Cond Setup2
    sl-OutOfOrderDelivery        ENUMERATED { true }                                                             OPTIONAL,    -- Need R
    ...
}

-- TAG-SL-PDCP-CONFIG-STOP
-- ASN1STOP

-- ASN1START

-- TAG-SL-PSBCH-CONFIG-START

SL-PSBCH-Config-r16 ::= SEQUENCE {
    dl-P0-PSBCH-r16         INTEGER (-16..15)                                                                   OPTIONAL,    -- Need M
    dl-Alpha-PSBCH-r16      ENUMERATED {alpha0, alpha04, alpha05, alpha06, alpha07, alpha08, alpha09, alpha1}   OPTIONAL,    -- Need M
    ...,
    [[
    dl-P0-PSBCH-r17         INTEGER (-202..24)                                                                  OPTIONAL     -- Need M
    ]]
}

-- TAG-SL-PSBCH-CONFIG-STOP
-- ASN1STOP

-- ASN1START

-- TAG-SL-PSSCH-TXCONFIGLIST-START

SL-PSSCH-TxConfigList-r16 ::=    SEQUENCE (SIZE (1..maxPSSCH-TxConfig-r16)) OF SL-PSSCH-TxConfig-r16

SL-PSSCH-TxConfig-r16 ::=        SEQUENCE {
    sl-TypeTxSync-r16                SL-TypeTxSync-r16                                   OPTIONAL,    -- Need R
    sl-ThresUE-Speed-r16             ENUMERATED {kmph60, kmph80, kmph100, kmph120,
                                                kmph140, kmph160, kmph180, kmph200},
    sl-ParametersAboveThres-r16      SL-PSSCH-TxParameters-r16,
    sl-ParametersBelowThres-r16      SL-PSSCH-TxParameters-r16,
    ...,
    [[
    sl-ParametersAboveThres-v1650    SL-MinMaxMCS-List-r16                               OPTIONAL,    -- Need R
    sl-ParametersBelowThres-v1650    SL-MinMaxMCS-List-r16                               OPTIONAL     -- Need R
    ]]
}


SL-PSSCH-TxParameters-r16 ::=    SEQUENCE {
    sl-MinMCS-PSSCH-r16              INTEGER (0..27),
    sl-MaxMCS-PSSCH-r16              INTEGER (0..31),
    sl-MinSubChannelNumPSSCH-r16     INTEGER (1..27),
    sl-MaxSubchannelNumPSSCH-r16     INTEGER (1..27),
    sl-MaxTxTransNumPSSCH-r16        INTEGER (1..32),
    sl-MaxTxPower-r16                SL-TxPower-r16                                      OPTIONAL    -- Cond CBR
}

-- TAG-SL-PSSCH-TXCONFIGLIST-STOP
-- ASN1STOP

-- ASN1START

-- TAG-SL-QOS-FLOWIDENTITY-START

SL-QoS-FlowIdentity-r16 ::=                    INTEGER (1..maxNrofSL-QFIs-r16)

-- TAG-SL-QOS-FLOWIDENTITY-STOP
-- ASN1STOP

-- ASN1START

-- TAG-SL-QOS-PROFILE-START

SL-QoS-Profile-r16 ::=        SEQUENCE {
    sl-PQI-r16                    SL-PQI-r16                                                  OPTIONAL,   -- Need R
    sl-GFBR-r16                   INTEGER (0..4000000000)                                     OPTIONAL,   -- Need R
    sl-MFBR-r16                   INTEGER (0..4000000000)                                     OPTIONAL,   -- Need R
    sl-Range-r16                  INTEGER (1..1000)                                           OPTIONAL,   -- Need R
    ...
}

SL-PQI-r16 ::=                CHOICE {
    sl-StandardizedPQI-r16        INTEGER (0..255),
    sl-Non-StandardizedPQI-r16    SEQUENCE {
        sl-ResourceType-r16           ENUMERATED {gbr, non-GBR, delayCriticalGBR, spare1}     OPTIONAL,   -- Need R
        sl-PriorityLevel-r16          INTEGER (1..8)                                          OPTIONAL,   -- Need R
        sl-PacketDelayBudget-r16      INTEGER (0..1023)                                       OPTIONAL,   -- Need R
        sl-PacketErrorRate-r16        INTEGER (0..9)                                          OPTIONAL,   -- Need R
        sl-AveragingWindow-r16        INTEGER (0..4095)                                       OPTIONAL,   -- Need R
        sl-MaxDataBurstVolume-r16     INTEGER (0..4095)                                       OPTIONAL,   -- Need R
    ...
   }
}

-- TAG-SL-QOS-PROFILE-STOP
-- ASN1STOP

-- ASN1START

-- TAG-SL-QUANTITYCONFIG-START

SL-QuantityConfig-r16 ::=               SEQUENCE {
    sl-FilterCoefficientDMRS-r16            FilterCoefficient                             DEFAULT fc4,
    ...
}

-- TAG-SL-QuantityConfig-STOP
-- ASN1STOP

-- ASN1START

-- TAG-SL-RADIOBEARERCONFIG-START

SL-RadioBearerConfig-r16 ::=     SEQUENCE {
    slrb-Uu-ConfigIndex-r16           SLRB-Uu-ConfigIndex-r16,
    sl-SDAP-Config-r16                SL-SDAP-Config-r16                                                 OPTIONAL,    -- Cond SLRBSetup
    sl-PDCP-Config-r16                SL-PDCP-Config-r16                                                 OPTIONAL,    -- Cond SLRBSetup
    sl-TransRange-r16                 ENUMERATED {m20, m50, m80, m100, m120, m150, m180, m200, m220, m250, m270, m300, m350, m370,
                                                 m400, m420, m450, m480, m500, m550, m600, m700, m1000, spare9, spare8, spare7, spare6,
                                                 spare5, spare4, spare3, spare2, spare1}                OPTIONAL,    -- Need R
    ...
}

-- TAG-SL-RADIOBEARERCONFIG-STOP
-- ASN1STOP

-- ASN1START

-- TAG-SL-RELAYUE-CONFIG-START

SL-RelayUE-Config-r17 ::=           SEQUENCE {
    threshHighRelay-r17                RSRP-Range                              OPTIONAL,     -- Need R
    threshLowRelay-r17                 RSRP-Range                              OPTIONAL,     -- Need R
    hystMaxRelay-r17                   Hysteresis                              OPTIONAL,     -- Cond ThreshHighRelay
    hystMinRelay-r17                   Hysteresis                              OPTIONAL      -- Cond ThreshLowRelay
}

-- TAG-SL-RELAYUE-CONFIG-STOP
-- ASN1STOP

-- ASN1START

-- TAG-SL-REMOTEUE-CONFIG-START

SL-RemoteUE-Config-r17 ::=           SEQUENCE {
    threshHighRemote-r17                RSRP-Range                                       OPTIONAL,     -- Need R
    hystMaxRemote-r17                   Hysteresis                                       OPTIONAL,     -- Cond ThreshHighRemote
    sl-ReselectionConfig-r17            SL-ReselectionConfig-r17                         OPTIONAL      -- Need R
}

SL-ReselectionConfig-r17 ::=         SEQUENCE {
    sl-RSRP-Thresh-r17                  SL-RSRP-Range-r16                                OPTIONAL,     -- Need R
    sl-FilterCoefficientRSRP-r17        FilterCoefficient                                OPTIONAL,     -- Need R
    sl-HystMin-r17                      Hysteresis                                       OPTIONAL      -- Cond SL-RSRP-Thresh
}

-- TAG-SL-REMOTEUE-CONFIG-STOP
-- ASN1STOP

-- ASN1START

-- TAG-SL-REPORTCONFIGLIST-START

SL-ReportConfigList-r16 ::=           SEQUENCE (SIZE (1..maxNrofSL-ReportConfigId-r16)) OF SL-ReportConfigInfo-r16

SL-ReportConfigInfo-r16 ::=           SEQUENCE {
    sl-ReportConfigId-r16                     SL-ReportConfigId-r16,
    sl-ReportConfig-r16                       SL-ReportConfig-r16,
    ...
}

SL-ReportConfigId-r16 ::=             INTEGER (1..maxNrofSL-ReportConfigId-r16)

SL-ReportConfig-r16 ::=               SEQUENCE {
    sl-ReportType-r16                     CHOICE {
        sl-Periodical-r16                     SL-PeriodicalReportConfig-r16,
        sl-EventTriggered-r16                 SL-EventTriggerConfig-r16,
        ...
    },
    ...
}

SL-PeriodicalReportConfig-r16 ::=     SEQUENCE {
    sl-ReportInterval-r16                 ReportInterval,
    sl-ReportAmount-r16                   ENUMERATED {r1, r2, r4, r8, r16, r32, r64, infinity},
    sl-ReportQuantity-r16                 SL-MeasReportQuantity-r16,
    sl-RS-Type-r16                        SL-RS-Type-r16,
    ...
}

SL-EventTriggerConfig-r16 ::=        SEQUENCE {
    sl-EventId-r16                       CHOICE {
        eventS1-r16                          SEQUENCE {
            s1-Threshold-r16                     SL-MeasTriggerQuantity-r16,
            sl-ReportOnLeave-r16                 BOOLEAN,
            sl-Hysteresis-r16                    Hysteresis,
            sl-TimeToTrigger-r16                 TimeToTrigger,
            ...
        },
        eventS2-r16                          SEQUENCE {
            s2-Threshold-r16                     SL-MeasTriggerQuantity-r16,
            sl-ReportOnLeave-r16                 BOOLEAN,
            sl-Hysteresis-r16                    Hysteresis,
            sl-TimeToTrigger-r16                 TimeToTrigger,
            ...
        },
        ...
    },
    sl-ReportInterval-r16                ReportInterval,
    sl-ReportAmount-r16                      ENUMERATED {r1, r2, r4, r8, r16, r32, r64, infinity},
    sl-ReportQuantity-r16                    SL-MeasReportQuantity-r16,
    sl-RS-Type-r16                           SL-RS-Type-r16,
    ...
}

SL-MeasReportQuantity-r16 ::=         CHOICE {
    sl-RSRP-r16                           BOOLEAN,
    ...
}

SL-MeasTriggerQuantity-r16 ::=        CHOICE {
    sl-RSRP-r16                           RSRP-Range,
    ...
}

SL-RS-Type-r16 ::=                    ENUMERATED {dmrs, spare3, spare2, spare1}

-- TAG-SL-REPORTCONFIGLIST-STOP
-- ASN1STOP

-- ASN1START

-- TAG-SL-RESOURCEPOOL-START

SL-ResourcePool-r16 ::=            SEQUENCE {
    sl-PSCCH-Config-r16                SetupRelease { SL-PSCCH-Config-r16 }                                  OPTIONAL,   -- Need M
    sl-PSSCH-Config-r16                SetupRelease { SL-PSSCH-Config-r16 }                                  OPTIONAL,   -- Need M
    sl-PSFCH-Config-r16                SetupRelease { SL-PSFCH-Config-r16 }                                  OPTIONAL,   -- Need M
    sl-SyncAllowed-r16                 SL-SyncAllowed-r16                                                    OPTIONAL,   -- Need M
    sl-SubchannelSize-r16              ENUMERATED {n10, n12, n15, n20, n25, n50, n75, n100}                  OPTIONAL,   -- Need M
    dummy                              INTEGER (10..160)                                                     OPTIONAL,   -- Need M
    sl-StartRB-Subchannel-r16          INTEGER (0..265)                                                      OPTIONAL,   -- Need M
    sl-NumSubchannel-r16               INTEGER (1..27)                                                       OPTIONAL,   -- Need M
    sl-Additional-MCS-Table-r16        ENUMERATED {qam256, qam64LowSE, qam256-qam64LowSE }                   OPTIONAL,   -- Need M
    sl-ThreshS-RSSI-CBR-r16            INTEGER (0..45)                                                       OPTIONAL,   -- Need M
    sl-TimeWindowSizeCBR-r16           ENUMERATED {ms100, slot100}                                           OPTIONAL,   -- Need M
    sl-TimeWindowSizeCR-r16            ENUMERATED {ms1000, slot1000}                                         OPTIONAL,   -- Need M
    sl-PTRS-Config-r16                 SL-PTRS-Config-r16                                                    OPTIONAL,    -- Need M
    sl-UE-SelectedConfigRP-r16         SL-UE-SelectedConfigRP-r16                                            OPTIONAL,   -- Need M
    sl-RxParametersNcell-r16           SEQUENCE {
        sl-TDD-Configuration-r16           TDD-UL-DL-ConfigCommon                                            OPTIONAL,   -- Need M
        sl-SyncConfigIndex-r16             INTEGER (0..15)
    }                                                                                                        OPTIONAL,   -- Need M
    sl-ZoneConfigMCR-List-r16          SEQUENCE (SIZE (16)) OF SL-ZoneConfigMCR-r16                          OPTIONAL,   -- Need M
    sl-FilterCoefficient-r16           FilterCoefficient                                                     OPTIONAL,   -- Need M
    sl-RB-Number-r16                   INTEGER (10..275)                                                     OPTIONAL,   -- Need M
    sl-PreemptionEnable-r16            ENUMERATED {enabled, pl1, pl2, pl3, pl4, pl5, pl6, pl7, pl8}          OPTIONAL,   -- Need R
    sl-PriorityThreshold-UL-URLLC-r16  INTEGER (1..9)                                                        OPTIONAL,   -- Need M
    sl-PriorityThreshold-r16           INTEGER (1..9)                                                        OPTIONAL,   -- Need M
    sl-X-Overhead-r16                  ENUMERATED {n0,n3, n6, n9}                                            OPTIONAL,   -- Need S
    sl-PowerControl-r16                SL-PowerControl-r16                                                   OPTIONAL,   -- Need M
    sl-TxPercentageList-r16            SL-TxPercentageList-r16                                               OPTIONAL,   -- Need M
    sl-MinMaxMCS-List-r16              SL-MinMaxMCS-List-r16                                                 OPTIONAL,   -- Need M
    ...,
    [[
    sl-TimeResource-r16                BIT STRING (SIZE (10..160))                                           OPTIONAL    -- Need M
    ]],
    [[
    sl-PBPS-CPS-Config-r17             SetupRelease { SL-PBPS-CPS-Config-r17 }                               OPTIONAL,   -- Need M
    sl-InterUE-CoordinationConfig-r17  SetupRelease { SL-InterUE-CoordinationConfig-r17 }                    OPTIONAL    -- Need M
    ]]
}

SL-ZoneConfigMCR-r16 ::=               SEQUENCE {
    sl-ZoneConfigMCR-Index-r16             INTEGER (0..15),
    sl-TransRange-r16                      ENUMERATED {m20, m50, m80, m100, m120, m150, m180, m200, m220, m250, m270, m300, m350,
                                                       m370, m400, m420, m450, m480, m500, m550, m600, m700, m1000, spare9, spare8,
                                                       spare7, spare6, spare5, spare4, spare3, spare2, spare1}
                                                                                                             OPTIONAL,   -- Need M
    sl-ZoneConfig-r16                      SL-ZoneConfig-r16                                                 OPTIONAL,   -- Need M
    ...
}

SL-SyncAllowed-r16 ::=                 SEQUENCE {
    gnss-Sync-r16                          ENUMERATED {true}                                                 OPTIONAL,   -- Need R
    gnbEnb-Sync-r16                        ENUMERATED {true}                                                 OPTIONAL,   -- Need R
    ue-Sync-r16                            ENUMERATED {true}                                                 OPTIONAL    -- Need R
}

SL-PSCCH-Config-r16 ::=                SEQUENCE {
    sl-TimeResourcePSCCH-r16               ENUMERATED {n2, n3}                                               OPTIONAL,   -- Need M
    sl-FreqResourcePSCCH-r16               ENUMERATED {n10,n12, n15, n20, n25}                               OPTIONAL,   -- Need M
    sl-DMRS-ScrambleID-r16                 INTEGER (0..65535)                                                OPTIONAL,   -- Need M
    sl-NumReservedBits-r16                 INTEGER (2..4)                                                    OPTIONAL,   -- Need M
   ...
}

SL-PSSCH-Config-r16 ::=                SEQUENCE {
    sl-PSSCH-DMRS-TimePatternList-r16      SEQUENCE (SIZE (1..3)) OF INTEGER (2..4)                          OPTIONAL,   -- Need M
    sl-BetaOffsets2ndSCI-r16               SEQUENCE (SIZE (4)) OF SL-BetaOffsets-r16                         OPTIONAL,   -- Need M
    sl-Scaling-r16                         ENUMERATED {f0p5, f0p65, f0p8, f1}                                OPTIONAL,   -- Need M
   ...
}

SL-PSFCH-Config-r16 ::=                SEQUENCE {
    sl-PSFCH-Period-r16                    ENUMERATED {sl0, sl1, sl2, sl4}                                   OPTIONAL,   -- Need M
    sl-PSFCH-RB-Set-r16                    BIT STRING (SIZE (10..275))                                       OPTIONAL,   -- Need M
    sl-NumMuxCS-Pair-r16                   ENUMERATED {n1, n2, n3, n6}                                       OPTIONAL,   -- Need M
    sl-MinTimeGapPSFCH-r16                 ENUMERATED {sl2, sl3}                                             OPTIONAL,   -- Need M
    sl-PSFCH-HopID-r16                     INTEGER (0..1023)                                                 OPTIONAL,   -- Need M
    sl-PSFCH-CandidateResourceType-r16     ENUMERATED {startSubCH, allocSubCH}                               OPTIONAL,   -- Need M
   ...
}
SL-PTRS-Config-r16 ::=                 SEQUENCE {
    sl-PTRS-FreqDensity-r16                SEQUENCE (SIZE (2)) OF INTEGER (1..276)                           OPTIONAL,   -- Need M
    sl-PTRS-TimeDensity-r16                SEQUENCE (SIZE (3)) OF INTEGER (0..29)                            OPTIONAL,   -- Need M
    sl-PTRS-RE-Offset-r16                  ENUMERATED {offset01, offset10, offset11}                         OPTIONAL,   -- Need M
    ...
}

SL-UE-SelectedConfigRP-r16 ::=         SEQUENCE {
    sl-CBR-PriorityTxConfigList-r16        SL-CBR-PriorityTxConfigList-r16                                  OPTIONAL,   -- Need M
    sl-Thres-RSRP-List-r16                 SL-Thres-RSRP-List-r16                                            OPTIONAL,   -- Need M
    sl-MultiReserveResource-r16            ENUMERATED {enabled}                                              OPTIONAL,   -- Need M
    sl-MaxNumPerReserve-r16                ENUMERATED {n2, n3}                                               OPTIONAL,   -- Need M
    sl-SensingWindow-r16                   ENUMERATED {ms100, ms1100}                                        OPTIONAL,   -- Need M
    sl-SelectionWindowList-r16             SL-SelectionWindowList-r16                                        OPTIONAL,   -- Need M
    sl-ResourceReservePeriodList-r16       SEQUENCE (SIZE (1..16)) OF SL-ResourceReservePeriod-r16           OPTIONAL,   -- Need M
    sl-RS-ForSensing-r16                   ENUMERATED {pscch, pssch},
    ...,
    [[
    sl-CBR-PriorityTxConfigList-v1650      SL-CBR-PriorityTxConfigList-v1650                                 OPTIONAL    -- Need M
    ]]
}

SL-ResourceReservePeriod-r16 ::=       CHOICE {
    sl-ResourceReservePeriod1-r16          ENUMERATED {ms0, ms100, ms200, ms300, ms400, ms500, ms600, ms700, ms800, ms900, ms1000},
    sl-ResourceReservePeriod2-r16          INTEGER (1..99)
}

SL-SelectionWindowList-r16 ::=         SEQUENCE (SIZE (8)) OF SL-SelectionWindowConfig-r16

SL-SelectionWindowConfig-r16 ::=       SEQUENCE {
    sl-Priority-r16                        INTEGER (1..8),
    sl-SelectionWindow-r16                 ENUMERATED {n1, n5, n10, n20}
}

SL-TxPercentageList-r16 ::=            SEQUENCE (SIZE (8)) OF SL-TxPercentageConfig-r16

SL-TxPercentageConfig-r16 ::=          SEQUENCE {
    sl-Priority-r16                        INTEGER (1..8),
    sl-TxPercentage-r16                    ENUMERATED {p20, p35, p50}
}

SL-MinMaxMCS-List-r16 ::=              SEQUENCE (SIZE (1..3)) OF SL-MinMaxMCS-Config-r16

SL-MinMaxMCS-Config-r16 ::=            SEQUENCE {
    sl-MCS-Table-r16                       ENUMERATED {qam64, qam256, qam64LowSE},
    sl-MinMCS-PSSCH-r16                    INTEGER (0..27),
    sl-MaxMCS-PSSCH-r16                    INTEGER (0..31)
}

SL-BetaOffsets-r16 ::=                 INTEGER (0..31)

SL-PowerControl-r16 ::=    SEQUENCE {
    sl-MaxTransPower-r16       INTEGER (-30..33),
    sl-Alpha-PSSCH-PSCCH-r16   ENUMERATED {alpha0, alpha04, alpha05, alpha06, alpha07, alpha08, alpha09, alpha1}  OPTIONAL,   -- Need M
    dl-Alpha-PSSCH-PSCCH-r16   ENUMERATED {alpha0, alpha04, alpha05, alpha06, alpha07, alpha08, alpha09, alpha1}  OPTIONAL,   -- Need S
    sl-P0-PSSCH-PSCCH-r16      INTEGER (-16..15)                                                                  OPTIONAL,   -- Need S
    dl-P0-PSSCH-PSCCH-r16      INTEGER (-16..15)                                                                  OPTIONAL,   -- Need M
    dl-Alpha-PSFCH-r16         ENUMERATED {alpha0, alpha04, alpha05, alpha06, alpha07, alpha08, alpha09, alpha1}  OPTIONAL,   -- Need S
    dl-P0-PSFCH-r16            INTEGER (-16..15)                                                                  OPTIONAL,   -- Need M
    ...,
    [[
    dl-P0-PSSCH-PSCCH-r17      INTEGER (-202..24)                                                                 OPTIONAL,   -- Need M
    sl-P0-PSSCH-PSCCH-r17      INTEGER (-202..24)                                                                 OPTIONAL,   -- Need S
    dl-P0-PSFCH-r17            INTEGER (-202..24)                                                                 OPTIONAL    -- Need M
    ]]
}

-- TAG-SL-RESOURCEPOOL-STOP
-- ASN1STOP

-- ASN1START

-- TAG-SL-RLC-BEARERCONFIG-START

SL-RLC-BearerConfig-r16 ::=                   SEQUENCE {
    sl-RLC-BearerConfigIndex-r16                  SL-RLC-BearerConfigIndex-r16,
    sl-ServedRadioBearer-r16                      SLRB-Uu-ConfigIndex-r16                          OPTIONAL,   -- Cond LCH-SetupOnly
    sl-RLC-Config-r16                             SL-RLC-Config-r16                                OPTIONAL,   -- Cond LCH-Setup
    sl-MAC-LogicalChannelConfig-r16               SL-LogicalChannelConfig-r16                      OPTIONAL,   -- Cond LCH-Setup
    ...
}

-- TAG-SL-RLC-BEARERCONFIG-STOP
-- ASN1STOP

-- ASN1START

-- TAG-SL-RLC-BEARERCONFIGINDEX-START

SL-RLC-BearerConfigIndex-r16 ::=                    INTEGER (1..maxSL-LCID-r16)

-- TAG-RLC-BEARERCONFIGINDEX-STOP
-- ASN1STOP

-- ASN1START

-- TAG-SL-RLC-RLC-CHANNEL-CONFIG-START

SL-RLC-ChannelConfig-r17 ::=                  SEQUENCE {
    sl-RLC-ChannelID-r17                          SL-RLC-ChannelID-r17,
    sl-RLC-Config-r17                             SL-RLC-Config-r16                                 OPTIONAL,   -- Need M
    sl-MAC-LogicalChannelConfig-r17               SL-LogicalChannelConfig-r16                       OPTIONAL,   -- Need M
    sl-PacketDelayBudget-r17                      INTEGER (0..1023)                                 OPTIONAL,   -- Need M
    ...}

-- TAG-SL-RLC-CHANNEL-CONFIG-STOP
-- ASN1STOP

-- ASN1START

-- TAG-SL-RLC-CHANNELID-START

SL-RLC-ChannelID-r17 ::=    INTEGER (1..maxSL-LCID-r16)

-- TAG-SL-RLC-CHANNELID-STOP
-- ASN1STOP

-- ASN1START

-- TAG-SL-RLC-CONFIG-START

SL-RLC-Config-r16 ::=                        CHOICE {
    sl-AM-RLC-r16                                SEQUENCE {
        sl-SN-FieldLengthAM-r16                      SN-FieldLengthAM                               OPTIONAL,   -- Cond SLRBSetup
        sl-T-PollRetransmit-r16                      T-PollRetransmit,
        sl-PollPDU-r16                                   PollPDU,
        sl-PollByte-r16                                  PollByte,
        sl-MaxRetxThreshold-r16                          ENUMERATED { t1, t2, t3, t4, t6, t8, t16, t32 },
    ...
    },
    sl-UM-RLC-r16                                SEQUENCE {
        sl-SN-FieldLengthUM-r16                      SN-FieldLengthUM                               OPTIONAL,    -- Cond SLRBSetup
    ...
    },
    ...
}

-- TAG-SL-RLC-CONFIG-STOP
-- ASN1STOP

-- ASN1START

-- TAG-SL-SCHEDULEDCONFIG-START

SL-ScheduledConfig-r16 ::=                   SEQUENCE {
    sl-RNTI-r16                                  RNTI-Value,
    mac-MainConfigSL-r16                         MAC-MainConfigSL-r16                                     OPTIONAL,    -- Need M
    sl-CS-RNTI-r16                               RNTI-Value                                               OPTIONAL,    -- Need M
    sl-PSFCH-ToPUCCH-r16                         SEQUENCE (SIZE (1..8)) OF INTEGER (0..15)                OPTIONAL,    -- Need M
    sl-ConfiguredGrantConfigList-r16             SL-ConfiguredGrantConfigList-r16                         OPTIONAL,    -- Need M
    ...,
    [[
    sl-DCI-ToSL-Trans-r16                        SEQUENCE (SIZE (1..8)) OF INTEGER (1..32)                OPTIONAL     -- Need M
    ]]
}

MAC-MainConfigSL-r16 ::=                     SEQUENCE {
    sl-BSR-Config-r16                            BSR-Config                                           OPTIONAL,    -- Need M
    ul-PrioritizationThres-r16                   INTEGER (1..16)                                      OPTIONAL,    -- Need M
    sl-PrioritizationThres-r16                   INTEGER (1..8)                                       OPTIONAL,    -- Need M
    ...
}

SL-ConfiguredGrantConfigList-r16 ::=       SEQUENCE {
    sl-ConfiguredGrantConfigToReleaseList-r16  SEQUENCE (SIZE (1..maxNrofCG-SL-r16)) OF SL-ConfigIndexCG-r16         OPTIONAL, -- Need N
    sl-ConfiguredGrantConfigToAddModList-r16   SEQUENCE (SIZE (1..maxNrofCG-SL-r16)) OF SL-ConfiguredGrantConfig-r16 OPTIONAL  -- Need N
}

-- TAG-SL-SCHEDULEDCONFIG-STOP
-- ASN1STOP

-- ASN1START

-- TAG-SL-SDAP-CONFIG-START

SL-SDAP-Config-r16 ::=                  SEQUENCE {
    sl-SDAP-Header-r16                      ENUMERATED {present, absent},
    sl-DefaultRB-r16                        BOOLEAN,
    sl-MappedQoS-Flows-r16                  CHOICE {
        sl-MappedQoS-FlowsList-r16              SEQUENCE (SIZE (1..maxNrofSL-QFIs-r16)) OF SL-QoS-Profile-r16,
        sl-MappedQoS-FlowsListDedicated-r16     SL-MappedQoS-FlowsListDedicated-r16
    }                                                                                                           OPTIONAL,   -- Need M
    sl-CastType-r16                        ENUMERATED {broadcast, groupcast, unicast, spare1}                   OPTIONAL,   -- Need M
    ...
}

SL-MappedQoS-FlowsListDedicated-r16 ::= SEQUENCE {
    sl-MappedQoS-FlowsToAddList-r16         SEQUENCE (SIZE (1..maxNrofSL-QFIs-r16)) OF SL-QoS-FlowIdentity-r16  OPTIONAL,    -- Need N
    sl-MappedQoS-FlowsToReleaseList-r16      SEQUENCE (SIZE (1..maxNrofSL-QFIs-r16)) OF SL-QoS-FlowIdentity-r16  OPTIONAL     -- Need N
}

-- TAG-SL-SDAP-CONFIG-STOP
-- ASN1STOP

-- ASN1START

-- TAG-SL-SERVINGCELLINFO-START

SL-ServingCellInfo-r17 ::=     SEQUENCE {
    sl-PhysCellId-r17              PhysCellId,
    sl-CarrierFreqNR-r17           ARFCN-ValueNR
}

-- TAG-SL-SERVINGCELLINFO-STOP
-- ASN1STOP

-- ASN1START

-- TAG-SL-SOURCEIDENTITY-START

SL-SourceIdentity-r17 ::=   BIT STRING (SIZE (24))

-- TAG-SL-SOURCEIDENTITY-STOP
-- ASN1STOP

-- ASN1START

-- TAG-SL-SRAP-CONFIG-START

SL-SRAP-Config-r17 ::=                  SEQUENCE {
    sl-LocalIdentity-r17                    INTEGER (0..255)                                                 OPTIONAL, -- Need M
    sl-MappingToAddModList-r17              SEQUENCE (SIZE (1..maxLC-ID)) OF SL-MappingToAddMod-r17          OPTIONAL, -- Need N
    sl-MappingToReleaseList-r17             SEQUENCE (SIZE (1..maxLC-ID)) OF SL-RemoteUE-RB-Identity-r17     OPTIONAL, -- Need N
    ...
}

SL-MappingToAddMod-r17 ::=              SEQUENCE {
    sl-RemoteUE-RB-Identity-r17             SL-RemoteUE-RB-Identity-r17,
    sl-EgressRLC-ChannelUu-r17              Uu-RelayRLC-ChannelID-r17                                        OPTIONAL, -- Cond L2RelayUE
    sl-EgressRLC-ChannelPC5-r17             SL-RLC-ChannelID-r17                                             OPTIONAL, -- Need N
    ...
}

SL-RemoteUE-RB-Identity-r17 ::=         CHOICE {
    srb-Identity-r17                        INTEGER (0..3),
    drb-Identity-r17                        DRB-Identity,
    ...
}

-- TAG-SL-SRAP-CONFIG-STOP
-- ASN1STOP

-- ASN1START

-- TAG-SL-SYNCCONFIG-START

SL-SyncConfigList-r16 ::=          SEQUENCE (SIZE (1..maxSL-SyncConfig-r16)) OF SL-SyncConfig-r16

SL-SyncConfig-r16 ::=              SEQUENCE {
    sl-SyncRefMinHyst-r16              ENUMERATED {dB0, dB3, dB6, dB9, dB12}                                   OPTIONAL,    -- Need R
    sl-SyncRefDiffHyst-r16             ENUMERATED {dB0, dB3, dB6, dB9, dB12, dBinf}                            OPTIONAL,    -- Need R
    sl-filterCoefficient-r16           FilterCoefficient                                                       OPTIONAL,    -- Need R
    sl-SSB-TimeAllocation1-r16         SL-SSB-TimeAllocation-r16                                               OPTIONAL,    -- Need R
    sl-SSB-TimeAllocation2-r16         SL-SSB-TimeAllocation-r16                                               OPTIONAL,    -- Need R
    sl-SSB-TimeAllocation3-r16         SL-SSB-TimeAllocation-r16                                               OPTIONAL,    -- Need R
    sl-SSID-r16                        INTEGER (0..671)                                                        OPTIONAL,    -- Need R
    txParameters-r16                   SEQUENCE {
        syncTxThreshIC-r16                 SL-RSRP-Range-r16                                                   OPTIONAL,    -- Need R
        syncTxThreshOoC-r16                SL-RSRP-Range-r16                                                   OPTIONAL,    -- Need R
        syncInfoReserved-r16               BIT STRING (SIZE (2))                                               OPTIONAL     -- Need R
    },
    gnss-Sync-r16                      ENUMERATED {true}                                                       OPTIONAL,    -- Need R
    ...
}

SL-RSRP-Range-r16 ::=                  INTEGER (0..13)

SL-SSB-TimeAllocation-r16 ::=          SEQUENCE {
    sl-NumSSB-WithinPeriod-r16             ENUMERATED {n1, n2, n4, n8, n16, n32, n64}                          OPTIONAL,    -- Need R
    sl-TimeOffsetSSB-r16                   INTEGER (0..1279)                                                   OPTIONAL,    -- Need R
    sl-TimeInterval-r16                    INTEGER (0..639)                                                    OPTIONAL     -- Need R
}

-- TAG-SL-SYNCCONFIG-STOP
-- ASN1STOP

-- ASN1START

-- TAG-SL-THRES-RSRP-LIST-START

SL-Thres-RSRP-List-r16 ::=    SEQUENCE (SIZE (64)) OF SL-Thres-RSRP-r16

SL-Thres-RSRP-r16 ::=         INTEGER (0..66)

-- TAG-SL-THRES-RSRP-LIST-STOP
-- ASN1STOP

-- ASN1START

-- TAG-SL-TXPOWER-START

SL-TxPower-r16 ::=                    CHOICE{
    minusinfinity-r16                     NULL,
    txPower-r16                           INTEGER (-30..33)
}

-- TAG-SL-TXPOWER-STOP
-- ASN1STOP

-- ASN1START

-- TAG-SL-TYPETXSYNC-START

SL-TypeTxSync-r16 ::=                     ENUMERATED {gnss, gnbEnb, ue}

-- TAG-SL-TYPETXSYNC-STOP
-- ASN1STOP

-- ASN1START

-- TAG-SL-UE-SELECTEDCONFIG-START

SL-UE-SelectedConfig-r16 ::=                 SEQUENCE {
    sl-PSSCH-TxConfigList-r16                    SL-PSSCH-TxConfigList-r16                                   OPTIONAL,    -- Need R
    sl-ProbResourceKeep-r16                      ENUMERATED {v0, v0dot2, v0dot4, v0dot6, v0dot8}             OPTIONAL,    -- Need R
    sl-ReselectAfter-r16                         ENUMERATED {n1, n2, n3, n4, n5, n6, n7, n8, n9}             OPTIONAL,    -- Need R
    sl-CBR-CommonTxConfigList-r16                SL-CBR-CommonTxConfigList-r16                               OPTIONAL,    -- Need R
    ul-PrioritizationThres-r16                   INTEGER (1..16)                                             OPTIONAL,    -- Need R
    sl-PrioritizationThres-r16                   INTEGER (1..8)                                              OPTIONAL,    -- Need R
    ...
}

-- TAG-SL-UE-SELECTEDCONFIG-STOP
-- ASN1STOP

-- ASN1START

-- TAG-SL-ZONECONFIG-START

SL-ZoneConfig-r16 ::=              SEQUENCE {
    sl-ZoneLength-r16                  ENUMERATED { m5, m10, m20, m30, m40, m50, spare2, spare1},
    ...
}

-- TAG-SL-ZONECONFIG-STOP
-- ASN1STOP

-- ASN1START

-- TAG-SLRB-UU-CONFIGINDEX-START

SLRB-Uu-ConfigIndex-r16 ::=                    INTEGER (1..maxNrofSLRB-r16)

-- TAG-SLRB-UU-CONFIGINDEX-STOP
-- ASN1STOP

-- ASN1START

-- TAG-CARRIERFREQLISTMBS-START

CarrierFreqListMBS-r17 ::=      SEQUENCE (SIZE (1..maxFreqMBS-r17)) OF ARFCN-ValueNR

-- TAG-CARRIERFREQLISTMBS-STOP
-- ASN1STOP

-- ASN1START

-- TAG-CFR-CONFIGMCCH-MTCH-START

CFR-ConfigMCCH-MTCH-r17 ::= SEQUENCE {
    locationAndBandwidthBroadcast-r17          LocationAndBandwidthBroadcast-r17  OPTIONAL,  -- Need S
    pdsch-ConfigMCCH-r17                       PDSCH-ConfigBroadcast-r17          OPTIONAL,  -- Need S
    commonControlResourceSetExt-r17            ControlResourceSet                 OPTIONAL   -- Cond NotSIB1CommonControlResource
}

LocationAndBandwidthBroadcast-r17 ::= CHOICE {
    sameAsSib1ConfiguredLocationAndBW          NULL,
    locationAndBandwidth                       INTEGER (0..37949)
}

-- TAG-CFR-CONFIGMCCH-MTCH-STOP
-- ASN1STOP

-- ASN1START

-- TAG-DRX-CONFIGPTM-START

DRX-ConfigPTM-r17 ::=             SEQUENCE {
    drx-onDurationTimerPTM-r17        CHOICE {
        subMilliSeconds                   INTEGER (1..31),
        milliSeconds                      ENUMERATED {
            ms1, ms2, ms3, ms4, ms5, ms6, ms8, ms10, ms20, ms30, ms40, ms50, ms60,
            ms80, ms100, ms200, ms300, ms400, ms500, ms600, ms800, ms1000, ms1200,
            ms1600, spare8, spare7, spare6, spare5, spare4, spare3, spare2, spare1
        }
    },
    drx-InactivityTimerPTM-r17        ENUMERATED {
            ms0, ms1, ms2, ms3, ms4, ms5, ms6, ms8, ms10, ms20, ms30, ms40, ms50, ms60, ms80,
            ms100, ms200, ms300, ms500, ms750, ms1280, ms1920, ms2560, spare9, spare8,
            spare7, spare6, spare5, spare4, spare3, spare2, spare1
    },
    drx-HARQ-RTT-TimerDL-PTM-r17      INTEGER (0..56)                      OPTIONAL,  -- Cond HARQFeedback
    drx-RetransmissionTimerDL-PTM-r17 ENUMERATED {
            sl0, sl1, sl2, sl4, sl6, sl8, sl16, sl24, sl33, sl40, sl64, sl80, sl96, sl112, sl128,
            sl160, sl320, spare15, spare14, spare13, spare12, spare11, spare10, spare9,
            spare8, spare7, spare6, spare5, spare4, spare3, spare2, spare1
    }                                                                      OPTIONAL,   -- Cond HARQFeedback
    drx-LongCycleStartOffsetPTM-r17   CHOICE {
        ms10                              INTEGER(0..9),
        ms20                              INTEGER(0..19),
        ms32                              INTEGER(0..31),
        ms40                              INTEGER(0..39),
        ms60                              INTEGER(0..59),
        ms64                              INTEGER(0..63),
        ms70                              INTEGER(0..69),
        ms80                              INTEGER(0..79),
        ms128                             INTEGER(0..127),
        ms160                             INTEGER(0..159),
        ms256                             INTEGER(0..255),
        ms320                             INTEGER(0..319),
        ms512                             INTEGER(0..511),
        ms640                             INTEGER(0..639),
        ms1024                            INTEGER(0..1023),
        ms1280                            INTEGER(0..1279),
        ms2048                            INTEGER(0..2047),
        ms2560                            INTEGER(0..2559),
        ms5120                            INTEGER(0..5119),
        ms10240                           INTEGER(0..10239)
    },
    drx-SlotOffsetPTM-r17                 INTEGER (0..31)
}

-- TAG-DRX-CONFIGPTM-STOP
-- ASN1STOP

-- ASN1START

-- TAG-MBS-NEIGHBOURCELLLIST-START

MBS-NeighbourCellList-r17 ::=     SEQUENCE (SIZE (0..maxNeighCellMBS-r17)) OF MBS-NeighbourCell-r17

MBS-NeighbourCell-r17 ::=         SEQUENCE {
    physCellId-r17                    PhysCellId,
    carrierFreq-r17                   ARFCN-ValueNR                                  OPTIONAL  -- Need S
}

-- TAG-MBS-NEIGHBOURCELLLIST-STOP
-- ASN1STOP

-- ASN1START

-- TAG-MBS-SERVICELIST-START

MBS-ServiceList-r17 ::=         SEQUENCE (SIZE (1..maxNrofMBS-ServiceListPerUE-r17)) OF MBS-ServiceInfo-r17

MBS-ServiceInfo-r17 ::=         SEQUENCE {
    tmgi-r17                        TMGI-r17
}

-- TAG-MBS-SERVICELIST-STOP
-- ASN1STOP

-- ASN1START

-- TAG-MBS-SESSIONINFOLIST-START

MBS-SessionInfoList-r17 ::=      SEQUENCE (SIZE (1..maxNrofMBS-Session-r17)) OF MBS-SessionInfo-r17

MBS-SessionInfo-r17 ::=          SEQUENCE {
    mbs-SessionId-r17                TMGI-r17,
    g-RNTI-r17                       RNTI-Value,
    mrb-ListBroadcast-r17            MRB-ListBroadcast-r17,
    mtch-SchedulingInfo-r17          DRX-ConfigPTM-Index-r17                      OPTIONAL, -- Need S
    mtch-NeighbourCell-r17           BIT STRING (SIZE(maxNeighCellMBS-r17))       OPTIONAL, -- Need S
    pdsch-ConfigIndex-r17            PDSCH-ConfigIndex-r17                        OPTIONAL, -- Need S
    mtch-SSB-MappingWindowIndex-r17  MTCH-SSB-MappingWindowIndex-r17              OPTIONAL  -- Cond MTCH-Mapping
}

DRX-ConfigPTM-Index-r17 ::=          INTEGER (0..maxNrofDRX-ConfigPTM-1-r17)

PDSCH-ConfigIndex-r17 ::=           INTEGER (0..maxNrofPDSCH-ConfigPTM-1-r17)

MTCH-SSB-MappingWindowIndex-r17 ::= INTEGER (0..maxNrofMTCH-SSB-MappingWindow-1-r17)

MRB-ListBroadcast-r17 ::=            SEQUENCE (SIZE (1..maxNrofMRB-Broadcast-r17)) OF MRB-InfoBroadcast-r17

MRB-InfoBroadcast-r17 ::=            SEQUENCE {
    pdcp-Config-r17                      MRB-PDCP-ConfigBroadcast-r17,
    rlc-Config-r17                       MRB-RLC-ConfigBroadcast-r17,
    ...
}

MRB-PDCP-ConfigBroadcast-r17 ::=     SEQUENCE {
    pdcp-SN-SizeDL-r17                   ENUMERATED {len12bits}                   OPTIONAL, -- Need S
    headerCompression-r17                CHOICE {
        notUsed                              NULL,
        rohc                                 SEQUENCE {
            maxCID-r17                           INTEGER (1..16)               DEFAULT 15,
            profiles-r17                         SEQUENCE {
                profile0x0000-r17                    BOOLEAN,
                profile0x0001-r17                    BOOLEAN,
                profile0x0002-r17                    BOOLEAN
           }
        }
    },
    t-Reordering-r17                     ENUMERATED {ms1, ms10, ms40, ms160, ms500, ms1000, ms1250, ms2750}    OPTIONAL -- Need S
}

MRB-RLC-ConfigBroadcast-r17 ::=      SEQUENCE {
    logicalChannelIdentity-r17           LogicalChannelIdentity,
    sn-FieldLength-r17                   ENUMERATED {size6}                       OPTIONAL, -- Need S
    t-Reassembly-r17                     T-Reassembly                             OPTIONAL  -- Need S
}

-- TAG-MBS-SESSIONINFOLIST-STOP
-- ASN1STOP

-- ASN1START

-- TAG-MTCH-SSB-MAPPINGWINDOWLIST-START

MTCH-SSB-MappingWindowList-r17 ::= SEQUENCE (SIZE (1..maxNrofMTCH-SSB-MappingWindow-r17)) OF MTCH-SSB-MappingWindowCycleOffset-r17

MTCH-SSB-MappingWindowCycleOffset-r17 ::= CHOICE {
    ms10                                      INTEGER(0..9),
    ms20                                      INTEGER(0..19),
    ms32                                      INTEGER(0..31),
    ms64                                      INTEGER(0..63),
    ms128                                     INTEGER(0..127),
    ms256                                     INTEGER(0..255)
}

-- TAG-MTCH-SSB-MAPPINGWINDOWLIST-STOP
-- ASN1STOP

-- ASN1START

-- TAG-PDSCH-CONFIGBROADCAST-START

PDSCH-ConfigBroadcast-r17 ::= SEQUENCE {
    pdschConfigList-r17                    SEQUENCE (SIZE (1..maxNrofPDSCH-ConfigPTM-r17) ) OF PDSCH-ConfigPTM-r17,
    pdsch-TimeDomainAllocationList-r17     PDSCH-TimeDomainResourceAllocationList-r16                          OPTIONAL,   -- Need R
    rateMatchPatternToAddModList-r17       SEQUENCE (SIZE (1..maxNrofRateMatchPatterns)) OF RateMatchPattern   OPTIONAL,   -- Need R
    lte-CRS-ToMatchAround-r17              RateMatchPatternLTE-CRS                                             OPTIONAL,   -- Need R
    mcs-Table-r17                          ENUMERATED {qam256, qam64LowSE}                                     OPTIONAL,   -- Need S
    xOverhead-r17                          ENUMERATED {xOh6, xOh12, xOh18}                                     OPTIONAL    -- Need S
}

PDSCH-ConfigPTM-r17 ::= SEQUENCE {
    dataScramblingIdentityPDSCH-r17        INTEGER (0..1023)         OPTIONAL,   -- Need S
    dmrs-ScramblingID0-r17                 INTEGER (0..65535)        OPTIONAL,   -- Need S
    pdsch-AggregationFactor-r17            ENUMERATED {n2, n4, n8}   OPTIONAL    -- Need S
}

-- TAG-PDSCH-CONFIGBROADCAST-STOP
-- ASN1STOP

-- ASN1START

-- TAG-TMGI-START

TMGI-r17 ::=                     SEQUENCE {
    plmn-Id-r17                      CHOICE {
        plmn-Index                       INTEGER (1..maxPLMN),
        explicitValue                    PLMN-Identity
    },
    serviceId-r17                    OCTET STRING (SIZE (3))
}

-- TAG-TMGI-STOP
-- ASN1STOP

-- ASN1START

-- TAG-MULTIPLICITY-AND-TYPE-CONSTRAINT-DEFINITIONS-START

maxAdditionalRACH-r17                   INTEGER ::= 256     -- Maximum number of additional RACH configurations.
maxAI-DCI-PayloadSize-r16               INTEGER ::= 128      --Maximum size of the DCI payload scrambled with ai-RNTI
maxAI-DCI-PayloadSize-1-r16             INTEGER ::= 127      --Maximum size of the DCI payload scrambled with ai-RNTI minus 1
maxBandComb                             INTEGER ::= 65536   -- Maximum number of DL band combinations
maxBandsUTRA-FDD-r16                    INTEGER ::= 64      -- Maximum number of bands listed in UTRA-FDD UE caps
maxBH-RLC-ChannelID-r16                 INTEGER ::= 65536   -- Maximum value of BH RLC Channel ID
maxBT-IdReport-r16                      INTEGER ::= 32      -- Maximum number of Bluetooth IDs to report
maxBT-Name-r16                          INTEGER ::= 4       -- Maximum number of Bluetooth name
maxCAG-Cell-r16                         INTEGER ::= 16      -- Maximum number of NR CAG cell ranges in SIB3, SIB4
maxTwoPUCCH-Grp-ConfigList-r16          INTEGER ::= 32      -- Maximum number of supported configuration(s) of {primary PUCCH group
                                                            -- config, secondary PUCCH group config}
maxTwoPUCCH-Grp-ConfigList-r17          INTEGER ::= 16      -- Maximum number of supported configuration(s) of {primary PUCCH group
                                                            -- config, secondary PUCCH group config} for PUCCH cell switching
maxCBR-Config-r16                       INTEGER ::= 8       -- Maximum number of CBR range configurations for sidelink communication
                                                            -- congestion control
maxCBR-Config-1-r16                     INTEGER ::= 7       -- Maximum number of CBR range configurations for sidelink communication
                                                            -- congestion control minus 1
maxCBR-Level-r16                        INTEGER ::= 16      -- Maximum number of CBR levels
maxCBR-Level-1-r16                      INTEGER ::= 15      -- Maximum number of CBR levels minus 1
maxCellExcluded                         INTEGER ::= 16      -- Maximum number of NR exclude-listed cell ranges in SIB3, SIB4
maxCellGroupings-r16                    INTEGER ::= 32      -- Maximum number of cell groupings for NR-DC
maxCellHistory-r16                      INTEGER ::= 16      -- Maximum number of visited PCells reported
maxPSCellHistory-r17                    INTEGER ::= 16      -- Maximum number of visited PSCells across all reported PCells
maxCellInter                            INTEGER ::= 16      -- Maximum number of inter-Freq cells listed in SIB4
maxCellIntra                            INTEGER ::= 16      -- Maximum number of intra-Freq cells listed in SIB3
maxCellMeasEUTRA                        INTEGER ::= 32      -- Maximum number of cells in E-UTRAN
maxCellMeasIdle-r16                     INTEGER ::= 8       -- Maximum number of cells per carrier for idle/inactive measurements
maxCellMeasUTRA-FDD-r16                 INTEGER ::= 32      -- Maximum number of cells in FDD UTRAN
maxCellNTN-r17                          INTEGER ::= 4       -- Maximum number of NTN neighbour cells for which assistance information is
                                                            -- provided
maxCarrierTypePairList-r16              INTEGER ::= 16      -- Maximum number of supported carrier type pair of (carrier type on which
                                                            -- CSI measurement is performed, carrier type on which CSI reporting is
                                                            -- performed) for CSI reporting cross PUCCH group
maxCellAllowed                          INTEGER ::= 16      -- Maximum number of NR allow-listed cell ranges in SIB3, SIB4
maxEARFCN                               INTEGER ::= 262143  -- Maximum value of E-UTRA carrier frequency
maxEUTRA-CellExcluded                   INTEGER ::= 16      -- Maximum number of E-UTRA exclude-listed physical cell identity ranges
                                                            -- in SIB5
maxEUTRA-NS-Pmax                        INTEGER ::= 8       -- Maximum number of NS and P-Max values per band
maxFeatureCombPreamblesPerRACHResource-r17 INTEGER ::= 256  -- Maximum number of feature combination preambles.
maxLogMeasReport-r16                    INTEGER ::= 520     -- Maximum number of entries for logged measurements
maxMultiBands                           INTEGER ::= 8       -- Maximum number of additional frequency bands that a cell belongs to
maxNARFCN                               INTEGER ::= 3279165 -- Maximum value of NR carrier frequency
maxNR-NS-Pmax                           INTEGER ::= 8       -- Maximum number of NS and P-Max values per band
maxFreqIdle-r16                         INTEGER ::= 8       -- Maximum number of carrier frequencies for idle/inactive measurements
maxNrofServingCells                     INTEGER ::= 32      -- Max number of serving cells (SpCells + SCells)
maxNrofServingCells-1                   INTEGER ::= 31      -- Max number of serving cells (SpCells + SCells) minus 1
maxNrofAggregatedCellsPerCellGroup      INTEGER ::= 16
maxNrofAggregatedCellsPerCellGroupMinus4-r16 INTEGER ::= 12
maxNrofDUCells-r16                      INTEGER ::= 512     -- Max number of cells configured on the collocated IAB-DU
maxNrofAppLayerMeas-r17                 INTEGER ::= 16      -- Max number of simultaneous application layer measurements
maxNrofAppLayerMeas-1-r17               INTEGER ::= 15      -- Max number of simultaneous application layer measurements minus 1
maxNrofAvailabilityCombinationsPerSet-r16   INTEGER ::= 512 -- Max number of AvailabilityCombinationId used in the DCI format 2_5
maxNrofAvailabilityCombinationsPerSet-1-r16 INTEGER ::= 511 -- Max number of AvailabilityCombinationId used in the DCI format 2_5 minus 1
maxNrofIABResourceConfig-r17            INTEGER ::= 65536   -- Max number of IAB-ResourceConfigID used in MAC CE
maxNrofIABResourceConfig-1-r17          INTEGER ::= 65535   -- Max number of IAB-ResourceConfigID used in MAC CE minus 1
maxNrofSCellActRS-r17                   INTEGER ::= 255     -- Max number of RS configurations per SCell for SCell activation
maxNrofSCells                           INTEGER ::= 31      -- Max number of secondary serving cells per cell group
maxNrofCellMeas                         INTEGER ::= 32      -- Maximum number of entries in each of the cell lists in a measurement object
maxNrofCRS-IM-InterfCell-r17            INTEGER ::= 8       -- Maximum number of LTE interference cells for CRS-IM per UE
maxNrofRelayMeas-r17                    INTEGER ::= 32      -- Maximum number of L2 U2N Relay UEs to measure for each measurement object
                                                            -- on sidelink frequency
maxNrofCG-SL-r16                        INTEGER ::= 8       -- Max number of sidelink configured grant
maxNrofCG-SL-1-r16                      INTEGER ::= 7       -- Max number of sidelink configured grant minus 1
maxSL-GC-BC-DRX-QoS-r17                 INTEGER ::= 16      -- Max number of sidelink DRX configurations for NR
                                                            -- sidelink groupcast/broadcast communication
maxNrofSL-RxInfoSet-r17                 INTEGER ::= 4       -- Max number of sidelink DRX configuration sets in sidelink DRX assistant
                                                            -- information
maxNrofSS-BlocksToAverage               INTEGER ::= 16      -- Max number for the (max) number of SS blocks to average to determine cell measurement
maxNrofCondCells-r16                    INTEGER ::= 8       -- Max number of conditional candidate SpCells
maxNrofCondCells-1-r17                  INTEGER ::= 7       -- Max number of conditional candidate SpCells minus 1
maxNrofCSI-RS-ResourcesToAverage        INTEGER ::= 16      -- Max number for the (max) number of CSI-RS to average to determine cell measurement
maxNrofDL-Allocations                   INTEGER ::= 16      -- Maximum number of PDSCH time domain resource allocations
maxNrofDL-AllocationsExt-r17            INTEGER ::= 64      -- Maximum number of PDSCH time domain resource allocations for multi-PDSCH
                                                            -- scheduling
maxNrofPDU-Sessions-r17                 INTEGER ::= 256     -- Maximum number of PDU Sessions
maxNrofSR-ConfigPerCellGroup            INTEGER ::= 8       -- Maximum number of SR configurations per cell group
maxLCG-ID                               INTEGER ::= 7       -- Maximum value of LCG ID
maxLCG-ID-IAB-r17                       INTEGER ::= 255     -- Maximum value of LCG ID for IAB-MT
maxLC-ID                                INTEGER ::= 32      -- Maximum value of Logical Channel ID
maxLC-ID-Iab-r16                        INTEGER ::= 65855   -- Maximum value of BH Logical Channel ID extension
maxLTE-CRS-Patterns-r16                 INTEGER ::= 3       -- Maximum number of additional LTE CRS rate matching patterns
maxNrofTAGs                             INTEGER ::= 4       -- Maximum number of Timing Advance Groups
maxNrofTAGs-1                           INTEGER ::= 3       -- Maximum number of Timing Advance Groups minus 1
maxNrofBWPs                             INTEGER ::= 4       -- Maximum number of BWPs per serving cell
maxNrofCombIDC                          INTEGER ::= 128     -- Maximum number of reported MR-DC combinations for IDC
maxNrofSymbols-1                        INTEGER ::= 13      -- Maximum index identifying a symbol within a slot (14 symbols, indexed from 0..13)
maxNrofSlots                            INTEGER ::= 320     -- Maximum number of slots in a 10 ms period
maxNrofSlots-1                          INTEGER ::= 319     -- Maximum number of slots in a 10 ms period minus 1
maxNrofPhysicalResourceBlocks           INTEGER ::= 275     -- Maximum number of PRBs
maxNrofPhysicalResourceBlocks-1         INTEGER ::= 274     -- Maximum number of PRBs minus 1
maxNrofPhysicalResourceBlocksPlus1      INTEGER ::= 276     -- Maximum number of PRBs plus 1
maxNrofControlResourceSets              INTEGER ::= 12      -- Max number of CoReSets configurable on a serving cell
maxNrofControlResourceSets-1            INTEGER ::= 11      -- Max number of CoReSets configurable on a serving cell minus 1
maxNrofControlResourceSets-1-r16        INTEGER ::= 15      -- Max number of CoReSets configurable on a serving cell extended in minus 1
maxNrofCoresetPools-r16                 INTEGER ::= 2       -- Maximum number of CORESET pools
maxCoReSetDuration                      INTEGER ::= 3       -- Max number of OFDM symbols in a control resource set
maxNrofSearchSpaces-1                   INTEGER ::= 39      -- Max number of Search Spaces minus 1
maxNrofSearchSpacesLinks-1-r17          INTEGER ::= 39      -- Max number of Search Space links minus 1
maxNrofBFDResourcePerSet-r17            INTEGER ::= 64      -- Max number of reference signal in one BFD set
maxSFI-DCI-PayloadSize                  INTEGER ::= 128     -- Max number payload of a DCI scrambled with SFI-RNTI
maxSFI-DCI-PayloadSize-1                INTEGER ::= 127     -- Max number payload of a DCI scrambled with SFI-RNTI minus 1
maxIAB-IP-Address-r16                   INTEGER ::= 32      -- Max number of assigned IP addresses
maxINT-DCI-PayloadSize                  INTEGER ::= 126     -- Max number payload of a DCI scrambled with INT-RNTI
maxINT-DCI-PayloadSize-1                INTEGER ::= 125     -- Max number payload of a DCI scrambled with INT-RNTI minus 1
maxNrofRateMatchPatterns                INTEGER ::= 4       -- Max number of rate matching patterns that may be configured
maxNrofRateMatchPatterns-1              INTEGER ::= 3       -- Max number of rate matching patterns that may be configured minus 1
maxNrofRateMatchPatternsPerGroup        INTEGER ::= 8       -- Max number of rate matching patterns that may be configured in one group
maxNrofCSI-ReportConfigurations         INTEGER ::= 48      -- Maximum number of report configurations
maxNrofCSI-ReportConfigurations-1       INTEGER ::= 47      -- Maximum number of report configurations minus 1
maxNrofCSI-ResourceConfigurations       INTEGER ::= 112     -- Maximum number of resource configurations
maxNrofCSI-ResourceConfigurations-1     INTEGER ::= 111     -- Maximum number of resource configurations minus 1
maxNrofAP-CSI-RS-ResourcesPerSet        INTEGER ::= 16
maxNrOfCSI-AperiodicTriggers            INTEGER ::= 128     -- Maximum number of triggers for aperiodic CSI reporting
maxNrofReportConfigPerAperiodicTrigger  INTEGER ::= 16      -- Maximum number of report configurations per trigger state for aperiodic reporting
maxNrofNZP-CSI-RS-Resources             INTEGER ::= 192     -- Maximum number of Non-Zero-Power (NZP) CSI-RS resources
maxNrofNZP-CSI-RS-Resources-1           INTEGER ::= 191     -- Maximum number of Non-Zero-Power (NZP) CSI-RS resources minus 1
maxNrofNZP-CSI-RS-ResourcesPerSet       INTEGER ::= 64      -- Maximum number of NZP CSI-RS resources per resource set
maxNrofNZP-CSI-RS-ResourceSets          INTEGER ::= 64      -- Maximum number of NZP CSI-RS resource sets per cell
maxNrofNZP-CSI-RS-ResourceSets-1        INTEGER ::= 63      -- Maximum number of NZP CSI-RS resource sets per cell minus 1
maxNrofNZP-CSI-RS-ResourceSetsPerConfig INTEGER ::= 16      -- Maximum number of resource sets per resource configuration
maxNrofNZP-CSI-RS-ResourcesPerConfig    INTEGER ::= 128     -- Maximum number of resources per resource configuration
maxNrofZP-CSI-RS-Resources              INTEGER ::= 32      -- Maximum number of Zero-Power (ZP) CSI-RS resources
maxNrofZP-CSI-RS-Resources-1            INTEGER ::= 31      -- Maximum number of Zero-Power (ZP) CSI-RS resources minus 1
maxNrofZP-CSI-RS-ResourceSets-1         INTEGER ::= 15
maxNrofZP-CSI-RS-ResourcesPerSet        INTEGER ::= 16
maxNrofZP-CSI-RS-ResourceSets           INTEGER ::= 16
maxNrofCSI-IM-Resources                 INTEGER ::= 32      -- Maximum number of CSI-IM resources
maxNrofCSI-IM-Resources-1               INTEGER ::= 31      -- Maximum number of CSI-IM resources minus 1
maxNrofCSI-IM-ResourcesPerSet           INTEGER ::= 8       -- Maximum number of CSI-IM resources per set
maxNrofCSI-IM-ResourceSets              INTEGER ::= 64      -- Maximum number of NZP CSI-IM resource sets per cell
maxNrofCSI-IM-ResourceSets-1            INTEGER ::= 63      -- Maximum number of NZP CSI-IM resource sets per cell minus 1
maxNrofCSI-IM-ResourceSetsPerConfig     INTEGER ::= 16      -- Maximum number of CSI IM resource sets per resource configuration
maxNrofCSI-SSB-ResourcePerSet           INTEGER ::= 64      -- Maximum number of SSB resources in a resource set
maxNrofCSI-SSB-ResourceSets             INTEGER ::= 64      -- Maximum number of CSI SSB resource sets per cell
maxNrofCSI-SSB-ResourceSets-1           INTEGER ::= 63      -- Maximum number of CSI SSB resource sets per cell minus 1
maxNrofCSI-SSB-ResourceSetsPerConfig    INTEGER ::= 1       -- Maximum number of CSI SSB resource sets per resource configuration
maxNrofCSI-SSB-ResourceSetsPerConfigExt INTEGER ::= 2       -- Maximum number of CSI SSB resource sets per resource configuration
                                                            -- extended
maxNrofFailureDetectionResources        INTEGER ::= 10      -- Maximum number of failure detection resources
maxNrofFailureDetectionResources-1      INTEGER ::= 9       -- Maximum number of failure detection resources minus 1
maxNrofFailureDetectionResources-1-r17  INTEGER ::= 63      -- Maximum number of the enhanced failure detection resources minus 1
maxNrofFreqSL-r16                       INTEGER ::= 8       -- Maximum number of carrier frequency for NR sidelink communication
maxNrofSL-BWPs-r16                      INTEGER ::= 4       -- Maximum number of BWP for NR sidelink communication
maxFreqSL-EUTRA-r16                     INTEGER ::= 8       -- Maximum number of EUTRA anchor carrier frequency for NR sidelink communication
maxNrofSL-MeasId-r16                    INTEGER ::= 64      -- Maximum number of sidelink measurement identity (RSRP) per destination
maxNrofSL-ObjectId-r16                  INTEGER ::= 64      -- Maximum number of sidelink measurement objects (RSRP) per destination
maxNrofSL-ReportConfigId-r16            INTEGER ::= 64      -- Maximum number of sidelink measurement reporting configuration(RSRP) per destination
maxNrofSL-PoolToMeasureNR-r16           INTEGER ::= 8       -- Maximum number of resource pool for NR sidelink measurement to measure for
                                                            -- each measurement object (for CBR)
maxFreqSL-NR-r16                        INTEGER ::= 8       -- Maximum number of NR anchor carrier frequency for NR sidelink communication
maxNrofSL-QFIs-r16                      INTEGER ::= 2048    -- Maximum number of QoS flow for NR sidelink communication per UE
maxNrofSL-QFIsPerDest-r16               INTEGER ::= 64      -- Maximum number of QoS flow per destination for NR sidelink communication
maxNrofObjectId                         INTEGER ::= 64      -- Maximum number of measurement objects
maxNrofPageRec                          INTEGER ::= 32      -- Maximum number of page records
maxNrofPCI-Ranges                       INTEGER ::= 8       -- Maximum number of PCI ranges
maxPLMN                                 INTEGER ::= 12      -- Maximum number of PLMNs broadcast and reported by UE at establishment
maxTAC-r17                              INTEGER ::= 12      -- Maximum number of Tracking Area Codes to which a cell belongs to
maxNrofCSI-RS-ResourcesRRM              INTEGER ::= 96      -- Maximum number of CSI-RS resources per cell for an RRM measurement object
maxNrofCSI-RS-ResourcesRRM-1            INTEGER ::= 95      -- Maximum number of CSI-RS resources per cell for an RRM measurement object
                                                            -- minus 1.
maxNrofMeasId                           INTEGER ::= 64      -- Maximum number of configured measurements
maxNrofQuantityConfig                   INTEGER ::= 2       -- Maximum number of quantity configurations
maxNrofCSI-RS-CellsRRM                  INTEGER ::= 96      -- Maximum number of cells with CSI-RS resources for an RRM measurement object
maxNrofSL-Dest-r16                      INTEGER ::= 32      -- Maximum number of destination for NR sidelink communication and discovery
maxNrofSL-Dest-1-r16                    INTEGER ::= 31      -- Highest index of destination for NR sidelink communication and discovery
maxNrofSLRB-r16                         INTEGER ::= 512     -- Maximum number of radio bearer for NR sidelink communication per UE
maxSL-LCID-r16                          INTEGER ::= 512     -- Maximum number of RLC bearer for NR sidelink communication per UE
maxSL-SyncConfig-r16                    INTEGER ::= 16      -- Maximum number of sidelink Sync configurations
maxNrofRXPool-r16                       INTEGER ::= 16      -- Maximum number of Rx resource pool for NR sidelink communication and
                                                            -- discovery
maxNrofTXPool-r16                       INTEGER ::= 8       -- Maximum number of Tx resource pool for NR sidelink communication and
                                                            -- discovery
maxNrofPoolID-r16                       INTEGER ::= 16      -- Maximum index of resource pool for NR sidelink communication and
                                                            -- discovery
maxNrofSRS-PathlossReferenceRS-r16      INTEGER ::= 64      -- Maximum number of RSs used as pathloss reference for SRS power control.
maxNrofSRS-PathlossReferenceRS-1-r16    INTEGER ::= 63      -- Maximum number of RSs used as pathloss reference for SRS power control
                                                            -- minus 1.
maxNrofSRS-ResourceSets                 INTEGER ::= 16      -- Maximum number of SRS resource sets in a BWP.
maxNrofSRS-ResourceSets-1               INTEGER ::= 15      -- Maximum number of SRS resource sets in a BWP minus 1.
maxNrofSRS-PosResourceSets-r16          INTEGER ::= 16      -- Maximum number of SRS Positioning resource sets in a BWP.
maxNrofSRS-PosResourceSets-1-r16        INTEGER ::= 15      -- Maximum number of SRS Positioning resource sets in a BWP minus 1.
maxNrofSRS-Resources                    INTEGER ::= 64      -- Maximum number of SRS resources.
maxNrofSRS-Resources-1                  INTEGER ::= 63      -- Maximum number of SRS resources minus 1.
maxNrofSRS-PosResources-r16             INTEGER ::= 64      -- Maximum number of SRS Positioning resources.
maxNrofSRS-PosResources-1-r16           INTEGER ::= 63      -- Maximum number of SRS Positioning resources minus 1.
maxNrofSRS-ResourcesPerSet              INTEGER ::= 16      -- Maximum number of SRS resources in an SRS resource set
maxNrofSRS-TriggerStates-1              INTEGER ::= 3       -- Maximum number of SRS trigger states minus 1, i.e., the largest code point.
maxNrofSRS-TriggerStates-2              INTEGER ::= 2       -- Maximum number of SRS trigger states minus 2.
maxRAT-CapabilityContainers             INTEGER ::= 8       -- Maximum number of interworking RAT containers (incl NR and MRDC)
maxSimultaneousBands                    INTEGER ::= 32      -- Maximum number of simultaneously aggregated bands
maxULTxSwitchingBandPairs               INTEGER ::= 32      -- Maximum number of band pairs supporting dynamic UL Tx switching in a band
                                                            -- combination.
maxNrofSlotFormatCombinationsPerSet     INTEGER ::= 512     -- Maximum number of Slot Format Combinations in a SF-Set.
maxNrofSlotFormatCombinationsPerSet-1   INTEGER ::= 511     -- Maximum number of Slot Format Combinations in a SF-Set minus 1.
maxNrofTrafficPattern-r16               INTEGER ::= 8       -- Maximum number of Traffic Pattern for NR sidelink communication.
maxNrofPUCCH-Resources                  INTEGER ::= 128
maxNrofPUCCH-Resources-1                INTEGER ::= 127
maxNrofPUCCH-ResourceSets               INTEGER ::= 4       -- Maximum number of PUCCH Resource Sets
maxNrofPUCCH-ResourceSets-1             INTEGER ::= 3       -- Maximum number of PUCCH Resource Sets minus 1.
maxNrofPUCCH-ResourcesPerSet            INTEGER ::= 32      -- Maximum number of PUCCH Resources per PUCCH-ResourceSet
maxNrofPUCCH-P0-PerSet                  INTEGER ::= 8       -- Maximum number of P0-pucch present in a p0-pucch set
maxNrofPUCCH-PathlossReferenceRSs       INTEGER ::= 4       -- Maximum number of RSs used as pathloss reference for PUCCH power control.
maxNrofPUCCH-PathlossReferenceRSs-1     INTEGER ::= 3       -- Maximum number of RSs used as pathloss reference for PUCCH power control
                                                            -- minus 1.
maxNrofPUCCH-PathlossReferenceRSs-r16   INTEGER ::= 64      -- Maximum number of RSs used as pathloss reference for PUCCH power control
                                                            -- extended.
maxNrofPUCCH-PathlossReferenceRSs-1-r16 INTEGER ::= 63      -- Maximum number of RSs used as pathloss reference for PUCCH power control
                                                            -- minus 1 extended.
maxNrofPUCCH-PathlossReferenceRSs-1-r17 INTEGER ::= 7       -- Maximum number of RSs used as pathloss reference for PUCCH power control
                                                            -- minus 1.
maxNrofPUCCH-PathlossReferenceRSsDiff-r16 INTEGER ::= 60    -- Difference between the extended maximum and the non-extended maximum
maxNrofPUCCH-ResourceGroups-r16         INTEGER ::= 4       -- Maximum number of PUCCH resources groups.
maxNrofPUCCH-ResourcesPerGroup-r16      INTEGER ::= 128     -- Maximum number of PUCCH resources in a PUCCH group.
maxNrofPowerControlSetInfos-r17         INTEGER ::= 8       -- Maximum number of PUCCH power control set infos
maxNrofMultiplePUSCHs-r16               INTEGER ::= 8       -- Maximum number of multiple PUSCHs in PUSCH TDRA list
maxNrofP0-PUSCH-AlphaSets               INTEGER ::= 30      -- Maximum number of P0-pusch-alpha-sets (see TS 38.213 [13], clause 7.1)
maxNrofP0-PUSCH-AlphaSets-1             INTEGER ::= 29      -- Maximum number of P0-pusch-alpha-sets minus 1 (see TS 38.213 [13], clause 7.1)
maxNrofPUSCH-PathlossReferenceRSs       INTEGER ::= 4       -- Maximum number of RSs used as pathloss reference for PUSCH power control.
maxNrofPUSCH-PathlossReferenceRSs-1     INTEGER ::= 3       -- Maximum number of RSs used as pathloss reference for PUSCH power control
                                                            -- minus 1.
maxNrofPUSCH-PathlossReferenceRSs-r16   INTEGER ::= 64      -- Maximum number of RSs used as pathloss reference for PUSCH power control
                                                            -- extended
maxNrofPUSCH-PathlossReferenceRSs-1-r16 INTEGER ::= 63      -- Maximum number of RSs used as pathloss reference for PUSCH power control
                                                            -- extended minus 1
maxNrofPUSCH-PathlossReferenceRSsDiff-r16  INTEGER ::= 60   -- Difference between maxNrofPUSCH-PathlossReferenceRSs-r16 and
                                                            -- maxNrofPUSCH-PathlossReferenceRSs
maxNrofPathlossReferenceRSs-r17         INTEGER ::= 64      -- Maximum number of RSs used as pathloss reference for PUSCH, PUCCH, SRS
                                                            -- power control for unified TCI state operation
maxNrofPathlossReferenceRSs-1-r17       INTEGER ::= 63      -- Maximum number of RSs used as pathloss reference for PUSCH, PUCCH, SRS
                                                            -- power control for unified TCI state operation minus 1
maxNrofNAICS-Entries                    INTEGER ::= 8       -- Maximum number of supported NAICS capability set
maxBands                                INTEGER ::= 1024    -- Maximum number of supported bands in UE capability.
maxBandsMRDC                            INTEGER ::= 1280
maxBandsEUTRA                           INTEGER ::= 256
maxCellReport                           INTEGER ::= 8
maxDRB                                  INTEGER ::= 29      -- Maximum number of DRBs (that can be added in DRB-ToAddModList).
maxFreq                                 INTEGER ::= 8       -- Max number of frequencies.
maxFreqLayers                           INTEGER ::= 4       -- Max number of frequency layers.
maxFreqPlus1                            INTEGER ::= 9       -- Max number of frequencies for Slicing.
maxFreqIDC-r16                          INTEGER ::= 128     -- Max number of frequencies for IDC indication.
maxCombIDC-r16                          INTEGER ::= 128     -- Max number of reported UL CA for IDC indication.
maxFreqIDC-MRDC                         INTEGER ::= 32      -- Maximum number of candidate NR frequencies for MR-DC IDC indication
maxNrofCandidateBeams                   INTEGER ::= 16      -- Max number of PRACH-ResourceDedicatedBFR in BFR config.
maxNrofCandidateBeams-r16               INTEGER ::= 64      -- Max number of candidate beam resources in BFR config.
maxNrofCandidateBeamsExt-r16            INTEGER ::= 48      -- Max number of PRACH-ResourceDedicatedBFR in the CandidateBeamRSListExt
maxNrofPCIsPerSMTC                      INTEGER ::= 64      -- Maximum number of PCIs per SMTC.
maxNrofQFIs                             INTEGER ::= 64
maxNrofResourceAvailabilityPerCombination-r16 INTEGER ::= 256
maxNrOfSemiPersistentPUSCH-Triggers     INTEGER ::= 64      -- Maximum number of triggers for semi persistent reporting on PUSCH
maxNrofSR-Resources                     INTEGER ::= 8       -- Maximum number of SR resources per BWP in a cell.
maxNrofSlotFormatsPerCombination        INTEGER ::= 256
maxNrofSpatialRelationInfos             INTEGER ::= 8
maxNrofSpatialRelationInfos-plus-1      INTEGER ::= 9
maxNrofSpatialRelationInfos-r16         INTEGER ::= 64
maxNrofSpatialRelationInfosDiff-r16     INTEGER ::= 56      -- Difference between maxNrofSpatialRelationInfos-r16 and maxNrofSpatialRelationInfos
maxNrofIndexesToReport                  INTEGER ::= 32
maxNrofIndexesToReport2                 INTEGER ::= 64
maxNrofSSBs-r16                         INTEGER ::= 64      -- Maximum number of SSB resources in a resource set.
maxNrofSSBs-1                           INTEGER ::= 63      -- Maximum number of SSB resources in a resource set minus 1.
maxNrofS-NSSAI                          INTEGER ::= 8       -- Maximum number of S-NSSAI.
maxNrofTCI-StatesPDCCH                  INTEGER ::= 64
maxNrofTCI-States                       INTEGER ::= 128     -- Maximum number of TCI states.
maxNrofTCI-States-1                     INTEGER ::= 127     -- Maximum number of TCI states minus 1.
maxUL-TCI-r17                           INTEGER ::= 64      -- Maximum number of TCI states.
maxUL-TCI-1-r17                         INTEGER ::= 63      -- Maximum number of TCI states minus 1.
maxNrofAdditionalPCI-r17                INTEGER ::= 7       -- Maximum number of additional PCI
maxMPE-Resources-r17                    INTEGER ::= 64      -- Maximum number of pooled MPE resources
maxNrofUL-Allocations                   INTEGER ::= 16      -- Maximum number of PUSCH time domain resource allocations.
maxQFI                                  INTEGER ::= 63
maxRA-CSIRS-Resources                   INTEGER ::= 96
maxRA-OccasionsPerCSIRS                 INTEGER ::= 64      -- Maximum number of RA occasions for one CSI-RS
maxRA-Occasions-1                       INTEGER ::= 511     -- Maximum number of RA occasions in the system
maxRA-SSB-Resources                     INTEGER ::= 64
maxSCSs                                 INTEGER ::= 5
maxSecondaryCellGroups                  INTEGER ::= 3
maxNrofServingCellsEUTRA                INTEGER ::= 32
maxMBSFN-Allocations                    INTEGER ::= 8
maxNrofMultiBands                       INTEGER ::= 8
maxCellSFTD                             INTEGER ::= 3       -- Maximum number of cells for SFTD reporting
maxReportConfigId                       INTEGER ::= 64
maxNrofCodebooks                        INTEGER ::= 16      -- Maximum number of codebooks supported by the UE
maxNrofCSI-RS-ResourcesExt-r16          INTEGER ::= 16      -- Maximum number of codebook resources supported by the UE for eType2/Codebook combo
maxNrofCSI-RS-ResourcesExt-r17          INTEGER ::= 8       -- Maximum number of codebook resources for fetype2R1 and fetype2R2
maxNrofCSI-RS-Resources                 INTEGER ::= 7       -- Maximum number of codebook resources supported by the UE
maxNrofCSI-RS-ResourcesAlt-r16          INTEGER ::= 512     -- Maximum number of alternative codebook resources supported by the UE
maxNrofCSI-RS-ResourcesAlt-1-r16        INTEGER ::= 511     -- Maximum number of alternative codebook resources supported by the UE minus 1
maxNrofSRI-PUSCH-Mappings               INTEGER ::= 16
maxNrofSRI-PUSCH-Mappings-1             INTEGER ::= 15
maxSIB                                  INTEGER ::= 32       -- Maximum number of SIBs
maxSI-Message                           INTEGER ::= 32       -- Maximum number of SI messages
maxSIB-MessagePlus1-r17                 INTEGER ::= 33       -- Maximum number of SIB messages plus 1
maxPO-perPF                             INTEGER ::= 4       -- Maximum number of paging occasion per paging frame
maxPEI-perPF-r17                        INTEGER ::= 4       -- Maximum number of PEI occasion per paging frame
maxAccessCat-1                          INTEGER ::= 63      -- Maximum number of Access Categories minus 1
maxBarringInfoSet                       INTEGER ::= 8       -- Maximum number of access control parameter sets
maxCellEUTRA                            INTEGER ::= 8       -- Maximum number of E-UTRA cells in SIB list
maxEUTRA-Carrier                        INTEGER ::= 8       -- Maximum number of E-UTRA carriers in SIB list
maxPLMNIdentities                       INTEGER ::= 8       -- Maximum number of PLMN identities in RAN area configurations
maxDownlinkFeatureSets                  INTEGER ::= 1024    -- (for NR DL) Total number of FeatureSets (size of the pool)
maxUplinkFeatureSets                    INTEGER ::= 1024    -- (for NR UL) Total number of FeatureSets (size of the pool)
maxEUTRA-DL-FeatureSets                 INTEGER ::= 256     -- (for E-UTRA) Total number of FeatureSets (size of the pool)
maxEUTRA-UL-FeatureSets                 INTEGER ::= 256     -- (for E-UTRA) Total number of FeatureSets (size of the pool)
maxFeatureSetsPerBand                   INTEGER ::= 128     -- (for NR) The number of feature sets associated with one band.
maxPerCC-FeatureSets                    INTEGER ::= 1024    -- (for NR) Total number of CC-specific FeatureSets (size of the pool)
maxFeatureSetCombinations               INTEGER ::= 1024    -- (for MR-DC/NR)Total number of Feature set combinations (size of the pool)
maxInterRAT-RSTD-Freq                   INTEGER ::= 3
maxGIN-r17                              INTEGER ::= 24      -- Maximum number of broadcast GINs
maxHRNN-Len-r16                         INTEGER ::= 48      -- Maximum length of HRNNs
maxNPN-r16                              INTEGER ::= 12      -- Maximum number of NPNs broadcast and reported by UE at establishment
maxNrOfMinSchedulingOffsetValues-r16    INTEGER ::= 2       -- Maximum number of min. scheduling offset (K0/K2) configurations
maxK0-SchedulingOffset-r16              INTEGER ::= 16      -- Maximum number of slots configured as min. scheduling offset (K0)
maxK2-SchedulingOffset-r16              INTEGER ::= 16      -- Maximum number of slots configured as min. scheduling offset (K2)
maxK0-SchedulingOffset-r17              INTEGER ::= 64      -- Maximum number of slots configured as min. scheduling offset (K0)
maxK2-SchedulingOffset-r17              INTEGER ::= 64      -- Maximum number of slots configured as min. scheduling offset (K2)
maxDCI-2-6-Size-r16                     INTEGER ::= 140     -- Maximum size of DCI format 2-6
maxDCI-2-7-Size-r17                     INTEGER ::= 43      -- Maximum size of DCI format 2-7
maxDCI-2-6-Size-1-r16                   INTEGER ::= 139     -- Maximum DCI format 2-6 size minus 1
maxNrofUL-Allocations-r16               INTEGER ::= 64      -- Maximum number of PUSCH time domain resource allocations
maxNrofP0-PUSCH-Set-r16                 INTEGER ::= 2       -- Maximum number of P0 PUSCH set(s)
maxOnDemandSIB-r16                      INTEGER ::= 8       -- Maximum number of SIB(s) that can be requested on-demand
maxOnDemandPosSIB-r16                   INTEGER ::= 32      -- Maximum number of posSIB(s) that can be requested on-demand
maxCI-DCI-PayloadSize-r16               INTEGER ::= 126     -- Maximum number of the DCI size for CI
maxCI-DCI-PayloadSize-1-r16             INTEGER ::= 125     -- Maximum number of the DCI size for CI minus 1
maxUu-RelayRLC-ChannelID-r17            INTEGER ::= 32      -- Maximum value of Uu Relay RLC channel ID
maxWLAN-Id-Report-r16                   INTEGER ::= 32      -- Maximum number of WLAN IDs to report
maxWLAN-Name-r16                        INTEGER ::= 4       -- Maximum number of WLAN name
maxRAReport-r16                         INTEGER ::= 8       -- Maximum number of RA procedures information to be included in the RA report
maxTxConfig-r16                         INTEGER ::= 64      -- Maximum number of sidelink transmission parameters configurations
maxTxConfig-1-r16                       INTEGER ::= 63      -- Maximum number of sidelink transmission parameters configurations minus 1
maxPSSCH-TxConfig-r16                   INTEGER ::= 16      -- Maximum number of PSSCH TX configurations
maxNrofCLI-RSSI-Resources-r16           INTEGER ::= 64      -- Maximum number of CLI-RSSI resources for UE
maxNrofCLI-RSSI-Resources-1-r16         INTEGER ::= 63      -- Maximum number of CLI-RSSI resources for UE minus 1
maxNrofCLI-SRS-Resources-r16            INTEGER ::= 32      -- Maximum number of SRS resources for CLI measurement for UE
maxCLI-Report-r16                       INTEGER ::= 8
maxNrofCC-Group-r17                     INTEGER ::= 16      -- Maximum number of CC groups for DC location report
maxNrofConfiguredGrantConfig-r16        INTEGER ::= 12      -- Maximum number of configured grant configurations per BWP
maxNrofConfiguredGrantConfig-1-r16      INTEGER ::= 11      -- Maximum number of configured grant configurations per BWP minus 1
maxNrofCG-Type2DeactivationState        INTEGER ::= 16      -- Maximum number of deactivation state for type 2 configured grants per BWP
maxNrofConfiguredGrantConfigMAC-1-r16   INTEGER ::= 31      -- Maximum number of configured grant configurations per MAC entity minus 1
maxNrofSPS-Config-r16                   INTEGER ::= 8       -- Maximum number of SPS configurations per BWP
maxNrofSPS-Config-1-r16                 INTEGER ::= 7       -- Maximum number of SPS configurations per BWP minus 1
maxNrofSPS-DeactivationState            INTEGER ::= 16      -- Maximum number of deactivation state for SPS per BWP
maxNrofPPW-Config-r17                   INTEGER ::= 4       -- Maximum number of Preconfigured PRS processing windows per DL BWP
maxNrofPPW-ID-1-r17                     INTEGER ::= 15      -- Maximum number of Preconfigured PRS processing windows minus 1
maxNrOfTxTEGReport-r17                  INTEGER ::= 256     -- Maximum number of UE Tx Timing Error Group Report
maxNrOfTxTEG-ID-1-r17                   INTEGER ::= 7       -- Maximum number of UE Tx Timing Error Group ID minus 1
maxNrofPagingSubgroups-r17              INTEGER ::= 8       -- Maximum number of paging subgroups per paging occasion
maxNrofPUCCH-ResourceGroups-1-r16       INTEGER ::= 3
maxNrofReqComDC-Location-r17            INTEGER ::= 128     -- Maximum number of requested carriers/BWPs combinations for DC location
                                                            -- report
maxNrofServingCellsTCI-r16              INTEGER ::= 32      -- Maximum number of serving cells in simultaneousTCI-UpdateList
maxNrofTxDC-TwoCarrier-r16              INTEGER ::= 64      -- Maximum number of UL Tx DC locations reported by the UE for 2CC uplink CA
maxNrofRB-SetGroups-r17                 INTEGER ::= 8       -- Maximum number of RB set groups
maxNrofRB-Sets-r17                      INTEGER ::= 8       -- Maximum number of RB sets
maxNrofEnhType3HARQ-ACK-r17             INTEGER ::= 8       -- Maximum number of enhanced type 3 HARQ-ACK codebook
maxNrofEnhType3HARQ-ACK-1-r17           INTEGER ::= 7       -- Maximum number of enhanced type 3 HARQ-ACK codebook minus 1
maxNrofPRS-ResourcesPerSet-r17          INTEGER ::= 64      -- Maximum number of PRS resources for one set
maxNrofPRS-ResourcesPerSet-1-r17        INTEGER ::= 63      -- Maximum number of PRS resources for one set minus 1
maxNrofPRS-ResourceOffsetValue-1-r17    INTEGER ::= 511
maxNrofGapId-r17                        INTEGER ::= 8       -- Maximum number of measurement gap ID is FFS
maxNrofPreConfigPosGapId-r17            INTEGER ::= 16      -- Maximum number of preconfigured positioning measurement gap
maxNrOfGapPri-r17                       INTEGER ::= 16      -- Maximum number of gap priority level
maxCEFReport-r17                        INTEGER ::= 4       -- Maximum number of CEF reports by the UE
maxNrofMultiplePDSCHs-r17               INTEGER ::= 8       -- Maximum number of PDSCHs in PDSCH TDRA list
maxSliceInfo-r17                        INTEGER ::= 8       -- Maximum number of NSAGs
maxCellSlice-r17                        INTEGER ::= 16      -- Maximum number of cells supporting the NSAG
maxNrofTRS-ResourceSets-r17             INTEGER ::= 64      -- Maximum number of TRS resource sets
maxNrofSearchSpaceGroups-1-r17          INTEGER ::= 2       -- Maximum number of search space groups minus 1
maxNrofRemoteUE-r17                     INTEGER ::= 32      -- Maximum number of connected L2 U2N Remote UEs
maxDCI-4-2-Size-r17                     INTEGER ::= 140     -- Maximum size of DCI format 4-2
maxFreqMBS-r17                          INTEGER ::= 16      -- Maximum number of MBS frequencies reported in MBSInterestIndication
maxNrofDRX-ConfigPTM-r17                INTEGER ::= 64      -- Max number of DRX configuration for PTM provided in MBS broadcast in a
                                                            -- cell
maxNrofDRX-ConfigPTM-1-r17              INTEGER ::= 63      -- Max number of DRX configuration for PTM provided in MBS broadcast in a
                                                            -- cell minus 1
maxNrofMBS-ServiceListPerUE-r17         INTEGER ::= 16      -- Maximum number of services which the UE can include in the  MBS interest
                                                            -- indication
maxNrofMBS-Session-r17                  INTEGER ::= 1024    -- Maximum number of MBS sessions provided in MBS broadcast in a cell
maxNrofMTCH-SSB-MappingWindow-r17       INTEGER ::= 16      -- Maximum number of MTCH to SSB beam mapping pattern
maxNrofMTCH-SSB-MappingWindow-1-r17     INTEGER ::= 15      -- Maximum number of MTCH to SSB beam mapping pattern minus 1
maxNrofMRB-Broadcast-r17                INTEGER ::= 4       -- Maximum number of broadcast MRBs configured for one MBS broadcast service
maxNrofPageGroup-r17                    INTEGER ::= 32      -- Maximum number of paging groups in a paging message
maxNrofPDSCH-ConfigPTM-r17              INTEGER ::= 16      -- Maximum number of PDSCH configuration groups for PTM
maxNrofPDSCH-ConfigPTM-1-r17            INTEGER ::= 15      -- Maximum number of PDSCH configuration groups for PTM minus 1
maxG-RNTI-r17                           INTEGER ::= 16      -- Maximum number of G-RNTI that can be configured for a UE.
maxG-RNTI-1-r17                         INTEGER ::= 15      -- Maximum number of G-RNTI that can be configured for a UE minus 1.
maxG-CS-RNTI-r17                        INTEGER ::= 8       -- Maximum number of G-CS-RNTI that can be configured for a UE.
maxG-CS-RNTI-1-r17                      INTEGER ::= 7       -- Maximum number of G-CS-RNTI that can be configured for a UE minus 1.
maxMRB-r17                              INTEGER ::= 32      -- Maximum number of multicast MRBs (that can be added in MRB-ToAddModLIst)
maxFSAI-MBS-r17                         INTEGER ::= 64      -- Maximum number of MBS frequency selection area identities
maxNeighCellMBS-r17                     INTEGER ::= 8       -- Maximum number of MBS broadcast neighbour cells
maxNrofPdcch-BlindDetectionMixed-1-r16  INTEGER ::= 7       -- Maximum number of combinations of mixed Rel-16 and Rel-15 PDCCH
                                                            -- monitoring capabilities minus 1
maxNrofPdcch-BlindDetection-r17         INTEGER ::= 16      -- Maximum number of combinations of PDCCH blind detection monitoring
                                                            -- capabilities

-- TAG-MULTIPLICITY-AND-TYPE-CONSTRAINT-DEFINITIONS-STOP
-- ASN1STOP

-- ASN1START


END

-- ASN1STOP

-- ASN1START

-- TAG-PC5-RRC-DEFINITIONS-START

PC5-RRC-Definitions DEFINITIONS AUTOMATIC TAGS ::=

BEGIN

IMPORTS
    CellAccessRelatedInfo,
    SetupRelease,
    RRC-TransactionIdentifier,
    SN-FieldLengthAM,
    SN-FieldLengthUM,
    LogicalChannelIdentity,
    maxNrofSLRB-r16,
    maxNrofSL-RxInfoSet-r17,
    maxNrofSL-QFIs-r16,
    maxNrofSL-QFIsPerDest-r16,
    PagingCycle,
    PagingRecord,
    RSRP-Range,
    SL-MeasConfig-r16,
    SL-MeasId-r16,
    FreqBandList,
    FreqBandIndicatorNR,
    maxNrofRelayMeas-r17,
    maxSimultaneousBands,
    maxBandComb,
    maxBands,
    maxSIB-MessagePlus1-r17,
    maxSL-LCID-r16,
    BandParametersSidelink-r16,
    RLC-ParametersSidelink-r16,
    SIB1,
    SL-DRX-ConfigUC-r17,
    SL-DRX-ConfigUC-SemiStatic-r17,
    SL-PagingIdentityRemoteUE-r17,
    SL-RLC-ChannelID-r17,
    SL-SourceIdentity-r17,
    SystemInformation
FROM NR-RRC-Definitions;

-- TAG-PC5-RRC-DEFINITIONS-STOP
-- ASN1STOP

-- ASN1START

-- TAG-SBCCH-SL-BCH-MESSAGE-START

SBCCH-SL-BCH-Message ::= SEQUENCE {
    message                  SBCCH-SL-BCH-MessageType
}

SBCCH-SL-BCH-MessageType ::=     CHOICE {
    c1                              CHOICE {
        masterInformationBlockSidelink              MasterInformationBlockSidelink,
        spare1 NULL
    },
    messageClassExtension   SEQUENCE {}
}

-- TAG-SBCCH-SL-BCH-MESSAGE-STOP
-- ASN1STOP

-- ASN1START

-- TAG-SCCH-MESSAGE-START

SCCH-Message ::=             SEQUENCE {
    message                         SCCH-MessageType
}

SCCH-MessageType ::=         CHOICE {
    c1                              CHOICE {
        measurementReportSidelink                MeasurementReportSidelink,
        rrcReconfigurationSidelink               RRCReconfigurationSidelink,
        rrcReconfigurationCompleteSidelink       RRCReconfigurationCompleteSidelink,
        rrcReconfigurationFailureSidelink        RRCReconfigurationFailureSidelink,
        ueCapabilityEnquirySidelink              UECapabilityEnquirySidelink,
        ueCapabilityInformationSidelink          UECapabilityInformationSidelink,
        uuMessageTransferSidelink-r17            UuMessageTransferSidelink-r17,
        remoteUEInformationSidelink-r17          RemoteUEInformationSidelink-r17
    },
    messageClassExtension           CHOICE {
        c2                              CHOICE {
            notificationMessageSidelink-r17 NotificationMessageSidelink-r17,
            ueAssistanceInformationSidelink-r17 UEAssistanceInformationSidelink-r17,
            spare6 NULL, spare5 NULL, spare4 NULL, spare3 NULL, spare2 NULL, spare1 NULL
        },
        messageClassExtensionFuture-r17    SEQUENCE {}
    }
}

-- TAG-SCCH-MESSAGE-STOP
-- ASN1STOP

-- ASN1START

-- TAG-MASTERINFORMATIONBLOCKSIDELINK-START

MasterInformationBlockSidelink ::=           SEQUENCE {
    sl-TDD-Config-r16                            BIT STRING (SIZE (12)),
    inCoverage-r16                               BOOLEAN,
    directFrameNumber-r16                        BIT STRING (SIZE (10)),
    slotIndex-r16                                BIT STRING (SIZE (7)),
    reservedBits-r16                             BIT STRING (SIZE (2))
}

-- TAG-MASTERINFORMATIONBLOCKSIDELINK-STOP
-- ASN1STOP

-- ASN1START

-- TAG-MEASUREMENTREPORTSIDELINK-START

MeasurementReportSidelink ::=                   SEQUENCE {
    criticalExtensions                              CHOICE {
        measurementReportSidelink-r16                   MeasurementReportSidelink-r16-IEs,
        criticalExtensionsFuture                        SEQUENCE {}
    }
}

MeasurementReportSidelink-r16-IEs ::=           SEQUENCE {
    sl-measResults-r16                              SL-MeasResults-r16,
    lateNonCriticalExtension                        OCTET STRING                                                            OPTIONAL,
    nonCriticalExtension                            SEQUENCE{}                                                              OPTIONAL
}

SL-MeasResults-r16 ::=                          SEQUENCE {
    sl-MeasId-r16                                   SL-MeasId-r16,
    sl-MeasResult-r16                               SL-MeasResult-r16,
    ...
}

SL-MeasResult-r16 ::=                           SEQUENCE {
    sl-ResultDMRS-r16                               SL-MeasQuantityResult-r16                                               OPTIONAL,
    ...
}

SL-MeasQuantityResult-r16 ::=                   SEQUENCE {
    sl-RSRP-r16                                     RSRP-Range                                                              OPTIONAL,
    ...
}

SL-MeasResultListRelay-r17 ::=                  SEQUENCE (SIZE (1..maxNrofRelayMeas-r17)) OF SL-MeasResultRelay-r17

SL-MeasResultRelay-r17 ::=                      SEQUENCE {
    cellIdentity-r17                                CellAccessRelatedInfo,
    sl-RelayUE-Identity-r17                         SL-SourceIdentity-r17,
    sl-MeasResult-r17                               SL-MeasResult-r16,
    ...
}

-- TAG-MEASUREMENTREPORTSIDELINK-STOP
-- ASN1STOP

-- ASN1START

-- TAG-NOTIFICATIONMESSAGESIDELINK-START

NotificationMessageSidelink-r17 ::=       SEQUENCE {
    criticalExtensions                        CHOICE {
        notificationMessageSidelink-r17           NotificationMessageSidelink-r17-IEs,
        criticalExtensionsFuture                  SEQUENCE {}
    }
}

NotificationMessageSidelink-r17-IEs ::=   SEQUENCE {
    indicationType-r17                        ENUMERATED {
                                                  relayUE-Uu-RLF, relayUE-HO, relayUE-CellReselection,
                                                  relayUE-Uu-RRC-Failure
                                              }                                     OPTIONAL,  -- Need N
    lateNonCriticalExtension                  OCTET STRING                          OPTIONAL,
    nonCriticalExtension                      SEQUENCE {}                           OPTIONAL
}

-- TAG-NOTIFICATIONMESSAGESIDELINK -STOP
-- ASN1STOP

-- ASN1START

-- TAG-REMOTEUEINFORMATIONSIDELINK-START

RemoteUEInformationSidelink-r17 ::=           SEQUENCE {
    criticalExtensions                            CHOICE {
        remoteUEInformationSidelink-r17               RemoteUEInformationSidelink-r17-IEs,
        criticalExtensionsFuture                      SEQUENCE {}
    }
}

RemoteUEInformationSidelink-r17-IEs ::=       SEQUENCE {
    sl-RequestedSIB-List-r17                     SetupRelease { SL-RequestedSIB-List-r17}          OPTIONAL, -- Need M
    sl-PagingInfo-RemoteUE-r17                    SetupRelease { SL-PagingInfo-RemoteUE-r17}         OPTIONAL, -- Need M
    lateNonCriticalExtension                      OCTET STRING                                       OPTIONAL,
    nonCriticalExtension                          SEQUENCE {}                                        OPTIONAL
}

SL-RequestedSIB-List-r17 ::=                 SEQUENCE (SIZE (maxSIB-MessagePlus1-r17)) OF SL-SIB-ReqInfo-r17

SL-PagingInfo-RemoteUE-r17 ::=                SEQUENCE {
    sl-PagingIdentityRemoteUE-r17                 SL-PagingIdentityRemoteUE-r17,
    sl-PagingCycleRemoteUE-r17                    PagingCycle                                        OPTIONAL  -- Need M
}

SL-SIB-ReqInfo-r17 ::=                   ENUMERATED { sib1, sib2, sib3, sib4, sib5, sib6, sib7, sib8, sib9, sib10, sib11, sib12, sib13,
                                                      sib14, sib15, sib16, sib17, sib18, sib19, sib20, sib21, sibNotReq11, sibNotReq10, sibNotReq9,
                                                      sibNotReq8, sibNotReq7, sibNotReq6, sibNotReq5, sibNotReq4, sibNotReq3, sibNotReq2, sibNotReq1, ... }

-- TAG-REMOTEUEINFORMATIONSIDELINK-STOP
-- ASN1STOP

-- ASN1START

-- TAG-RRCRECONFIGURATIONSIDELINK-START

RRCReconfigurationSidelink ::=          SEQUENCE {
    rrc-TransactionIdentifier-r16           RRC-TransactionIdentifier,
    criticalExtensions                      CHOICE {
        rrcReconfigurationSidelink-r16          RRCReconfigurationSidelink-r16-IEs,
        criticalExtensionsFuture                SEQUENCE {}
    }
}

RRCReconfigurationSidelink-r16-IEs ::=  SEQUENCE {
    slrb-ConfigToAddModList-r16             SEQUENCE (SIZE (1..maxNrofSLRB-r16)) OF SLRB-Config-r16             OPTIONAL, -- Need N
    slrb-ConfigToReleaseList-r16            SEQUENCE (SIZE (1..maxNrofSLRB-r16)) OF SLRB-PC5-ConfigIndex-r16    OPTIONAL, -- Need N
    sl-MeasConfig-r16                       SetupRelease {SL-MeasConfig-r16}                                    OPTIONAL, -- Need M
    sl-CSI-RS-Config-r16                    SetupRelease {SL-CSI-RS-Config-r16}                                 OPTIONAL, -- Need M
    sl-ResetConfig-r16                      ENUMERATED {true}                                                   OPTIONAL, -- Need N
    sl-LatencyBoundCSI-Report-r16           INTEGER (3..160)                                                    OPTIONAL, -- Need M
    lateNonCriticalExtension                OCTET STRING                                                        OPTIONAL,
    nonCriticalExtension                    RRCReconfigurationSidelink-v1700-IEs                                OPTIONAL
}

RRCReconfigurationSidelink-v1700-IEs ::= SEQUENCE {
    sl-DRX-ConfigUC-PC5-r17                 SetupRelease { SL-DRX-ConfigUC-r17 }                                OPTIONAL, -- Need M
    sl-LatencyBoundIUC-Report-r17           SetupRelease { SL-LatencyBoundIUC-Report-r17 }                      OPTIONAL, -- Need M
    sl-RLC-ChannelToReleaseListPC5-r17      SEQUENCE (SIZE (1..maxSL-LCID-r16)) OF SL-RLC-ChannelID-r17         OPTIONAL, -- Need N
    sl-RLC-ChannelToAddModListPC5-r17       SEQUENCE (SIZE (1..maxSL-LCID-r16)) OF SL-RLC-ChannelConfigPC5-r17  OPTIONAL, -- Need N
    nonCriticalExtension                    SEQUENCE {}                                                         OPTIONAL
}

SL-LatencyBoundIUC-Report-r17 ::=            INTEGER (3..160)

SLRB-Config-r16 ::=                      SEQUENCE {
    slrb-PC5-ConfigIndex-r16                SLRB-PC5-ConfigIndex-r16,
    sl-SDAP-ConfigPC5-r16                   SL-SDAP-ConfigPC5-r16                                               OPTIONAL, -- Need M
    sl-PDCP-ConfigPC5-r16                   SL-PDCP-ConfigPC5-r16                                               OPTIONAL, -- Need M
    sl-RLC-ConfigPC5-r16                    SL-RLC-ConfigPC5-r16                                                OPTIONAL, -- Need M
    sl-MAC-LogicalChannelConfigPC5-r16      SL-LogicalChannelConfigPC5-r16                                      OPTIONAL, -- Need M
    ...
}

SLRB-PC5-ConfigIndex-r16 ::=            INTEGER (1..maxNrofSLRB-r16)

SL-SDAP-ConfigPC5-r16 ::=               SEQUENCE {
    sl-MappedQoS-FlowsToAddList-r16         SEQUENCE (SIZE (1..maxNrofSL-QFIsPerDest-r16)) OF SL-PQFI-r16      OPTIONAL, -- Need N
    sl-MappedQoS-FlowsToReleaseList-r16     SEQUENCE (SIZE (1..maxNrofSL-QFIsPerDest-r16)) OF SL-PQFI-r16      OPTIONAL, -- Need N
    sl-SDAP-Header-r16                      ENUMERATED {present, absent},
    ...
}

SL-PDCP-ConfigPC5-r16 ::=               SEQUENCE {
    sl-PDCP-SN-Size-r16                     ENUMERATED {len12bits, len18bits}                                   OPTIONAL, -- Need M
    sl-OutOfOrderDelivery-r16               ENUMERATED { true }                                                 OPTIONAL,  -- Need R
    ...
}

SL-RLC-ConfigPC5-r16 ::=                CHOICE {
    sl-AM-RLC-r16                           SEQUENCE {
        sl-SN-FieldLengthAM-r16                 SN-FieldLengthAM                                                OPTIONAL, -- Need M
        ...
    },
    sl-UM-Bi-Directional-RLC-r16            SEQUENCE {
        sl-SN-FieldLengthUM-r16                 SN-FieldLengthUM                                                OPTIONAL, -- Need M
        ...
    },
    sl-UM-Uni-Directional-RLC-r16           SEQUENCE {
        sl-SN-FieldLengthUM-r16                 SN-FieldLengthUM                                                OPTIONAL, -- Need M
        ...
    }
}

SL-LogicalChannelConfigPC5-r16 ::=      SEQUENCE {
    sl-LogicalChannelIdentity-r16           LogicalChannelIdentity,
    ...
}

SL-PQFI-r16 ::=                         INTEGER (1..64)

SL-CSI-RS-Config-r16 ::=                SEQUENCE {
    sl-CSI-RS-FreqAllocation-r16            CHOICE {
        sl-OneAntennaPort-r16                   BIT STRING (SIZE (12)),
        sl-TwoAntennaPort-r16                   BIT STRING (SIZE (6))
    }                                                                                                           OPTIONAL, -- Need M
    sl-CSI-RS-FirstSymbol-r16               INTEGER (3..12)                                                     OPTIONAL, -- Need M
    ...
}

SL-RLC-ChannelConfigPC5-r17 ::=          SEQUENCE {
    sl-RLC-ChannelID-PC5-r17                SL-RLC-ChannelID-r17,
    sl-RLC-ConfigPC5-r17                    SL-RLC-ConfigPC5-r16                                                OPTIONAL, -- Need M
    sl-MAC-LogicalChannelConfigPC5-r17      SL-LogicalChannelConfigPC5-r16                                      OPTIONAL, -- Need M
    ...
}

-- TAG-RRCRECONFIGURATIONSIDELINK-STOP
-- ASN1STOP

-- ASN1START

-- TAG-RRCRECONFIGURATIONCOMPLETESIDELINK-START

RRCReconfigurationCompleteSidelink ::=         SEQUENCE {
    rrc-TransactionIdentifier-r16                  RRC-TransactionIdentifier,
    criticalExtensions                             CHOICE {
        rrcReconfigurationCompleteSidelink-r16         RRCReconfigurationCompleteSidelink-r16-IEs,
        criticalExtensionsFuture                       SEQUENCE {}
    }
}

RRCReconfigurationCompleteSidelink-r16-IEs ::= SEQUENCE {
    lateNonCriticalExtension                       OCTET STRING                                                       OPTIONAL,
    nonCriticalExtension                           RRCReconfigurationCompleteSidelink-v1710-IEs                       OPTIONAL
}

RRCReconfigurationCompleteSidelink-v1710-IEs ::=   SEQUENCE {
    dummy                                              ENUMERATED {true},
    nonCriticalExtension                               RRCReconfigurationCompleteSidelink-v1720-IEs                   OPTIONAL
}


RRCReconfigurationCompleteSidelink-v1720-IEs ::=   SEQUENCE {
    sl-DRX-ConfigReject-v1720                          ENUMERATED {true}                                              OPTIONAL,
    nonCriticalExtension                               SEQUENCE {}                                                    OPTIONAL
}

-- TAG-RRCRECONFIGURATIONCOMPLETESIDELINK-STOP
-- ASN1STOP

-- ASN1START

-- TAG-RRCRECONFIGURATIONFAILURESIDELINK-START

RRCReconfigurationFailureSidelink ::=         SEQUENCE {
    rrc-TransactionIdentifier-r16                 RRC-TransactionIdentifier,
    criticalExtensions                            CHOICE {
        rrcReconfigurationFailureSidelink-r16         RRCReconfigurationFailureSidelink-r16-IEs,
        criticalExtensionsFuture                      SEQUENCE {}
    }
}

RRCReconfigurationFailureSidelink-r16-IEs ::= SEQUENCE {
    lateNonCriticalExtension                      OCTET STRING                                                         OPTIONAL,
    nonCriticalExtension                          SEQUENCE {}                                                          OPTIONAL
}

-- TAG-RRCRECONFIGURATIONFAILURESIDELINK-STOP
-- ASN1STOP

-- ASN1START

-- TAG-UEASSISTANCEINFORMATIONSIDELINK-START

UEAssistanceInformationSidelink-r17 ::=       SEQUENCE {
    criticalExtensions                            CHOICE {
        ueAssistanceInformationSidelink-r17           UEAssistanceInformationSidelink-r17-IEs,
        criticalExtensionsFuture                      SEQUENCE {}
    }
}

UEAssistanceInformationSidelink-r17-IEs ::=   SEQUENCE {
    sl-PreferredDRX-ConfigList-r17                SEQUENCE (SIZE (1..maxNrofSL-RxInfoSet-r17)) OF SL-DRX-ConfigUC-SemiStatic-r17
                                                                                                        OPTIONAL, -- Need R
    lateNonCriticalExtension                      OCTET STRING                                          OPTIONAL,
    nonCriticalExtension                          SEQUENCE {}                                           OPTIONAL
}

-- TAG-UEASSISTANCEINFORMATIONSIDELINK-STOP
-- ASN1STOP

-- ASN1START

-- TAG-UECAPABILITYENQUIRYSIDELINK-START

UECapabilityEnquirySidelink ::=         SEQUENCE {
    rrc-TransactionIdentifier-r16           RRC-TransactionIdentifier,
    criticalExtensions                      CHOICE {
        ueCapabilityEnquirySidelink-r16         UECapabilityEnquirySidelink-r16-IEs,
        criticalExtensionsFuture                SEQUENCE {}
    }
}

UECapabilityEnquirySidelink-r16-IEs ::= SEQUENCE {
    frequencyBandListFilterSidelink-r16     FreqBandList                                                            OPTIONAL, -- Need N
    ue-CapabilityInformationSidelink-r16    OCTET STRING                                                            OPTIONAL, -- Need N
    lateNonCriticalExtension                OCTET STRING                                                            OPTIONAL,
    nonCriticalExtension                    SEQUENCE{}                                                              OPTIONAL
}

-- TAG-UECAPABILITYENQUIRYSIDELINK-STOP
-- ASN1STOP

-- ASN1START

-- TAG-UECAPABILITYINFORMATIONSIDELINK-START

UECapabilityInformationSidelink ::=         SEQUENCE {
    rrc-TransactionIdentifier-r16               RRC-TransactionIdentifier,
    criticalExtensions                          CHOICE {
        ueCapabilityInformationSidelink-r16         UECapabilityInformationSidelink-r16-IEs,
        criticalExtensionsFuture                    SEQUENCE {}
    }
}

UECapabilityInformationSidelink-r16-IEs ::= SEQUENCE {
    accessStratumReleaseSidelink-r16            AccessStratumReleaseSidelink-r16,
    pdcp-ParametersSidelink-r16                 PDCP-ParametersSidelink-r16                                             OPTIONAL,
    rlc-ParametersSidelink-r16                  RLC-ParametersSidelink-r16                                              OPTIONAL,
    supportedBandCombinationListSidelinkNR-r16  BandCombinationListSidelinkNR-r16                                       OPTIONAL,
    supportedBandListSidelink-r16               SEQUENCE (SIZE (1..maxBands)) OF BandSidelinkPC5-r16                    OPTIONAL,
    appliedFreqBandListFilter-r16               FreqBandList                                                            OPTIONAL,
    lateNonCriticalExtension                    OCTET STRING                                                            OPTIONAL,
    nonCriticalExtension                        UECapabilityInformationSidelink-v1700-IEs                               OPTIONAL
}

UECapabilityInformationSidelink-v1700-IEs ::= SEQUENCE {
    mac-ParametersSidelink-r17                    MAC-ParametersSidelink-r17                                            OPTIONAL,
    supportedBandCombinationListSidelinkNR-v1710  BandCombinationListSidelinkNR-v1710                                   OPTIONAL,
    nonCriticalExtension                          SEQUENCE {}                                                           OPTIONAL
}

MAC-ParametersSidelink-r17 ::= SEQUENCE {
    drx-OnSidelink-r17                          ENUMERATED {supported}                                                  OPTIONAL,
    ...
}

AccessStratumReleaseSidelink-r16 ::= ENUMERATED { rel16, rel17, spare6, spare5, spare4, spare3, spare2, spare1, ... }

PDCP-ParametersSidelink-r16 ::= SEQUENCE {
    outOfOrderDeliverySidelink-r16              ENUMERATED {supported}      OPTIONAL,
    ...
}

BandCombinationListSidelinkNR-r16 ::= SEQUENCE (SIZE (1..maxBandComb)) OF BandCombinationParametersSidelinkNR-r16

BandCombinationListSidelinkNR-v1710 ::= SEQUENCE (SIZE (1..maxBandComb)) OF BandCombinationParametersSidelinkNR-v1710

BandCombinationParametersSidelinkNR-r16 ::= SEQUENCE (SIZE (1..maxSimultaneousBands)) OF BandParametersSidelink-r16

BandCombinationParametersSidelinkNR-v1710 ::= SEQUENCE (SIZE (1..maxSimultaneousBands)) OF BandParametersSidelink-v1710

BandParametersSidelink-v1710 ::=    SEQUENCE {
    --32-5a-1
    tx-IUC-Scheme1-Mode2Sidelink-r17    ENUMERATED {supported}                      OPTIONAL,
    --32-5b-1
    tx-IUC-Scheme2-Mode2Sidelink-r17    ENUMERATED {n4, n8, n16}                    OPTIONAL
}

BandSidelinkPC5-r16 ::=           SEQUENCE {
    freqBandSidelink-r16              FreqBandIndicatorNR,
    --15-1
    sl-Reception-r16                  SEQUENCE {
        harq-RxProcessSidelink-r16        ENUMERATED {n16, n24, n32, n64},
        pscch-RxSidelink-r16              ENUMERATED {value1, value2},
        scs-CP-PatternRxSidelink-r16      CHOICE {
            fr1-r16                           SEQUENCE {
                scs-15kHz-r16                     BIT STRING (SIZE (16))                            OPTIONAL,
                scs-30kHz-r16                     BIT STRING (SIZE (16))                            OPTIONAL,
                scs-60kHz-r16                     BIT STRING (SIZE (16))                            OPTIONAL
            },
            fr2-r16                           SEQUENCE {
                scs-60kHz-r16                     BIT STRING (SIZE (16))                            OPTIONAL,
                scs-120kHz-r16                    BIT STRING (SIZE (16))                            OPTIONAL
            }
        }                                                                                           OPTIONAL,
        extendedCP-RxSidelink-r16         ENUMERATED {supported}                                    OPTIONAL
    }                                                                                               OPTIONAL,
    --15-10
    sl-Tx-256QAM-r16                  ENUMERATED {supported}                                        OPTIONAL,
    --15-12
    lowSE-64QAM-MCS-TableSidelink-r16 ENUMERATED {supported}                                        OPTIONAL,
    ...,
    [[
    --15-14
    csi-ReportSidelink-r16                SEQUENCE {
        csi-RS-PortsSidelink-r16              ENUMERATED {p1, p2}
    }                                                                                               OPTIONAL,
    --15-19
    rankTwoReception-r16                  ENUMERATED {supported}                                    OPTIONAL,
    --15-23
    sl-openLoopPC-RSRP-ReportSidelink-r16 ENUMERATED {supported}                                    OPTIONAL,
    --13-1
    sl-Rx-256QAM-r16                      ENUMERATED {supported}                                    OPTIONAL
    ]],
    [[
    --32-5a-2
    rx-IUC-Scheme1-PreferredMode2Sidelink-r17     ENUMERATED {supported}                           OPTIONAL,
    --32-5a-3
    rx-IUC-Scheme1-NonPreferredMode2Sidelink-r17  ENUMERATED {supported}                           OPTIONAL,
    --32-5b-2
    rx-IUC-Scheme2-Mode2Sidelink-r17               ENUMERATED {n5, n15, n25, n32, n35, n45, n50, n64} OPTIONAL,
    --32-6-1
    rx-IUC-Scheme1-SCI-r17                         ENUMERATED {supported}                           OPTIONAL,
    --32-6-2
    rx-IUC-Scheme1-SCI-ExplicitReq-r17             ENUMERATED {supported}                           OPTIONAL,
    --32-7
    scheme2-ConflictDeterminationRSRP-r17          ENUMERATED {supported}                           OPTIONAL
    ]]
}

-- TAG-UECAPABILITYINFORMATIONSIDELINK-STOP
-- ASN1STOP

-- ASN1START

-- TAG-UUMESSAGETRANSFERSIDELINK-START

UuMessageTransferSidelink-r17 ::=           SEQUENCE {
    criticalExtensions                          CHOICE {
        uuMessageTransferSidelink-r17               UuMessageTransferSidelink-r17-IEs,
        criticalExtensionsFuture                    SEQUENCE {}
    }
}

UuMessageTransferSidelink-r17-IEs ::=       SEQUENCE {
    sl-PagingDelivery-r17                       OCTET STRING (CONTAINING PagingRecord)                   OPTIONAL,   -- Need N
    sl-SIB1-Delivery-r17                        OCTET STRING (CONTAINING SIB1)                           OPTIONAL,   -- Need N
    sl-SystemInformationDelivery-r17            OCTET STRING (CONTAINING SystemInformation)              OPTIONAL,   -- Need N
    lateNonCriticalExtension                    OCTET STRING                                             OPTIONAL,
    nonCriticalExtension                        SEQUENCE {}                                              OPTIONAL
}

-- TAG-UUMESSAGETRANSFERSIDELINK-STOP
-- ASN1STOP

-- ASN1START


END

-- ASN1STOP

-- ASN1START

-- NR-UE-VARIABLES-START

NR-UE-Variables DEFINITIONS AUTOMATIC TAGS ::=

BEGIN

IMPORTS
    AreaConfiguration-v1700,
    ARFCN-ValueNR,
    CellIdentity,
    EUTRA-PhysCellId,
    maxCEFReport-r17,
    MeasId,
    MeasIdToAddModList,
    MeasIdleCarrierEUTRA-r16,
    MeasIdleCarrierNR-r16,
    MeasResultIdleEUTRA-r16,
    MeasResultIdleNR-r16,
    MeasObjectToAddModList,
    PhysCellId,
    RNTI-Value,
    ReportConfigToAddModList,
    RSRP-Range,
    SL-MeasId-r16,
    SL-MeasIdList-r16,
    SL-MeasObjectList-r16,
    SL-ReportConfigList-r16,
    SL-QuantityConfig-r16,
    Tx-PoolMeasList-r16,
    QuantityConfig,
    maxNrofCellMeas,
    maxNrofMeasId,
    maxFreqIdle-r16,
    PhysCellIdUTRA-FDD-r16,
    ValidityAreaList-r16,
    CondReconfigToAddModList-r16,
    ConnEstFailReport-r16,
    LoggingDuration-r16,
    LoggingInterval-r16,
    LogMeasInfoList-r16,
    LogMeasInfo-r16,
    RA-Report-r16,
    RLF-Report-r16,
    TraceReference-r16,
    WLAN-Identifiers-r16,
    WLAN-NameList-r16,
    BT-NameList-r16,
    PLMN-Identity,
    maxNrofRelayMeas-r17,
    maxPLMN,
    RA-ReportList-r16,
    VisitedCellInfoList-r16,
    AbsoluteTimeInfo-r16,
    LoggedEventTriggerConfig-r16,
    LoggedPeriodicalReportConfig-r16,
    Sensor-NameList-r16,
    SL-SourceIdentity-r17,
    SuccessHO-Report-r17,
    PLMN-IdentityList2-r16,
    AreaConfiguration-r16,
    maxNrofSL-MeasId-r16,
    maxNrofFreqSL-r16,
    maxNrofCLI-RSSI-Resources-r16,
    maxNrofCLI-SRS-Resources-r16,
    RSSI-ResourceId-r16,
    SRS-ResourceId,
    VisitedPSCellInfoList-r17
FROM NR-RRC-Definitions;

-- NR-UE-VARIABLES-STOP
-- ASN1STOP

-- ASN1START

-- TAG-VARCONDITIONALRECONFIG-START

VarConditionalReconfig ::=     SEQUENCE {
    condReconfigList               CondReconfigToAddModList-r16        OPTIONAL
}

-- TAG-VARCONDITIONALRECONFIG-STOP
-- ASN1STOP

-- ASN1START

-- TAG-VARCONNESTFAILREPORT-START

VarConnEstFailReport-r16 ::= SEQUENCE {
    connEstFailReport-r16        ConnEstFailReport-r16,
    plmn-Identity-r16            PLMN-Identity
}

-- TAG-VARCONNESTFAILREPORT-STOP
-- ASN1STOP

-- ASN1START

-- TAG-VARCONNESTFAILREPORTLIST-START

VarConnEstFailReportList-r17 ::= SEQUENCE {
    connEstFailReportList-r17        SEQUENCE (SIZE (1..maxCEFReport-r17)) OF VarConnEstFailReport-r16
}

-- TAG-VARCONNESTFAILREPORTLIST-STOP
-- ASN1STOP

-- ASN1START

-- TAG-VARLOGMEASCONFIG-START

VarLogMeasConfig-r16-IEs ::= SEQUENCE {
    areaConfiguration-r16        AreaConfiguration-r16        OPTIONAL,
    bt-NameList-r16              BT-NameList-r16              OPTIONAL,
    wlan-NameList-r16            WLAN-NameList-r16            OPTIONAL,
    sensor-NameList-r16          Sensor-NameList-r16          OPTIONAL,
    loggingDuration-r16          LoggingDuration-r16,
    reportType                   CHOICE {
        periodical                   LoggedPeriodicalReportConfig-r16,
        eventTriggered               LoggedEventTriggerConfig-r16
    },
    earlyMeasIndication-r17      ENUMERATED {true}            OPTIONAL,
    areaConfiguration-v1700      AreaConfiguration-v1700      OPTIONAL
}
-- TAG-VARLOGMEASCONFIG-STOP
-- ASN1STOP

-- ASN1START

-- TAG-VARLOGMEASREPORT-START

VarLogMeasReport-r16 ::=     SEQUENCE {
    absoluteTimeInfo-r16         AbsoluteTimeInfo-r16,
    traceReference-r16           TraceReference-r16,
    traceRecordingSessionRef-r16 OCTET STRING (SIZE (2)),
    tce-Id-r16                   OCTET STRING (SIZE (1)),
    logMeasInfoList-r16          LogMeasInfoList-r16,
    plmn-IdentityList-r16        PLMN-IdentityList2-r16,
    sigLoggedMeasType-r17        ENUMERATED {true}
}

-- TAG-VARLOGMEASREPORT-STOP
-- ASN1STOP

-- ASN1START

-- TAG-VARMEASCONFIG-START

VarMeasConfig ::=                   SEQUENCE {
    -- Measurement identities
    measIdList                          MeasIdToAddModList                  OPTIONAL,
    -- Measurement objects
    measObjectList                      MeasObjectToAddModList              OPTIONAL,
    -- Reporting configurations
    reportConfigList                    ReportConfigToAddModList            OPTIONAL,
    -- Other parameters
    quantityConfig                      QuantityConfig                      OPTIONAL,
    s-MeasureConfig                         CHOICE {
        ssb-RSRP                                RSRP-Range,
        csi-RSRP                                RSRP-Range
    }                                                                       OPTIONAL
}

-- TAG-VARMEASCONFIG-STOP
-- ASN1STOP

-- ASN1START

-- TAG-VARMEASCONFIGSL-START

VarMeasConfigSL-r16 ::=                        SEQUENCE {
    -- NR sidelink measurement identities
    sl-MeasIdList-r16                              SL-MeasIdList-r16                          OPTIONAL,
    -- NR sidelink measurement objects
    sl-MeasObjectList-r16                          SL-MeasObjectList-r16                      OPTIONAL,
    -- NR sidelink reporting configurations
    sl-reportConfigList-r16                        SL-ReportConfigList-r16                    OPTIONAL,
    -- Other parameters
    sl-QuantityConfig-r16                          SL-QuantityConfig-r16                      OPTIONAL
}

-- TAG-VARMEASCONFIGSL-STOP
-- ASN1STOP

-- ASN1START

-- TAG-VARMEASIDLECONFIG-START

VarMeasIdleConfig-r16 ::=     SEQUENCE {
    measIdleCarrierListNR-r16     SEQUENCE (SIZE (1..maxFreqIdle-r16)) OF MeasIdleCarrierNR-r16                  OPTIONAL,
    measIdleCarrierListEUTRA-r16  SEQUENCE (SIZE (1..maxFreqIdle-r16)) OF MeasIdleCarrierEUTRA-r16               OPTIONAL,
    measIdleDuration-r16          ENUMERATED {sec10, sec30, sec60, sec120, sec180, sec240, sec300, spare},
    validityAreaList-r16          ValidityAreaList-r16                                                           OPTIONAL
}

-- TAG-VARMEASIDLECONFIG-STOP
-- ASN1STOP

-- ASN1START

-- TAG-VARMEASIDLEREPORT-START

VarMeasIdleReport-r16 ::=    SEQUENCE {
    measReportIdleNR-r16         MeasResultIdleNR-r16                     OPTIONAL,
    measReportIdleEUTRA-r16      MeasResultIdleEUTRA-r16                  OPTIONAL
}

-- TAG-VARMEASIDLEREPORT-STOP
-- ASN1STOP

-- ASN1START

-- TAG-VARMEASREPORTLIST-START

VarMeasReportList ::=               SEQUENCE (SIZE (1..maxNrofMeasId)) OF VarMeasReport

VarMeasReport ::=                   SEQUENCE {
    -- List of measurement that have been triggered
    measId                              MeasId,
    cellsTriggeredList                  CellsTriggeredList              OPTIONAL,
    numberOfReportsSent                 INTEGER,
    cli-TriggeredList-r16               CLI-TriggeredList-r16           OPTIONAL,
    tx-PoolMeasToAddModListNR-r16       Tx-PoolMeasList-r16             OPTIONAL,
    relaysTriggeredList-r17             RelaysTriggeredList-r17         OPTIONAL
}

CellsTriggeredList ::=              SEQUENCE (SIZE (1..maxNrofCellMeas)) OF CHOICE {
    physCellId                          PhysCellId,
    physCellIdEUTRA                     EUTRA-PhysCellId,
    physCellIdUTRA-FDD-r16              PhysCellIdUTRA-FDD-r16
    }

CLI-TriggeredList-r16 ::=           CHOICE {
    srs-RSRP-TriggeredList-r16          SRS-RSRP-TriggeredList-r16,
    cli-RSSI-TriggeredList-r16          CLI-RSSI-TriggeredList-r16
    }

SRS-RSRP-TriggeredList-r16 ::=      SEQUENCE (SIZE (1..maxNrofCLI-SRS-Resources-r16)) OF SRS-ResourceId

CLI-RSSI-TriggeredList-r16 ::=      SEQUENCE (SIZE (1..maxNrofCLI-RSSI-Resources-r16)) OF RSSI-ResourceId-r16

RelaysTriggeredList-r17 ::=         SEQUENCE (SIZE (1..maxNrofRelayMeas-r17)) OF SL-SourceIdentity-r17

-- TAG-VARMEASREPORTLIST-STOP
-- ASN1STOP

-- ASN1START

-- TAG-VARMEASREPORTLISTSL-START

VarMeasReportListSL-r16 ::=               SEQUENCE (SIZE (1..maxNrofSL-MeasId-r16)) OF VarMeasReportSL-r16

VarMeasReportSL-r16 ::=                   SEQUENCE {
    -- List of NR sidelink measurement that have been triggered
    sl-MeasId-r16                             SL-MeasId-r16,
    sl-FrequencyTriggeredList-r16             SEQUENCE (SIZE (1..maxNrofFreqSL-r16)) OF ARFCN-ValueNR              OPTIONAL,
    sl-NumberOfReportsSent-r16                INTEGER
}

-- TAG-VARMEASREPORTLISTSL-STOP
-- ASN1STOP

-- ASN1START

-- TAG-VARMOBILITYHISTORYREPORT-START

VarMobilityHistoryReport-r16 ::= VisitedCellInfoList-r16

VarMobilityHistoryReport-r17 ::= SEQUENCE {
    visitedCellInfoList-r16          VisitedCellInfoList-r16,
    visitedPSCellInfoListReport-r17  VisitedPSCellInfoList-r17         OPTIONAL
}

-- TAG-VARMOBILITYHISTORYREPORT-STOP
-- ASN1STOP

-- ASN1START

-- TAG-VARPENDINGRNA-UPDATE-START

VarPendingRNA-Update ::=                    SEQUENCE {
    pendingRNA-Update                   BOOLEAN                             OPTIONAL
}

-- TAG-VARPENDINGRNA-UPDATE-STOP
-- ASN1STOP

-- ASN1START

-- TAG-VARRA-REPORT-START

VarRA-Report-r16 ::=      SEQUENCE {
    ra-ReportList-r16         RA-ReportList-r16,
    plmn-IdentityList-r16     PLMN-IdentityList-r16
}

PLMN-IdentityList-r16 ::= SEQUENCE (SIZE (1..maxPLMN)) OF PLMN-Identity

-- TAG-VARRA-REPORT-STOP
-- ASN1STOP

-- ASN1START

-- TAG-VARRESUMEMAC-INPUT-START

VarResumeMAC-Input ::=     SEQUENCE {
    sourcePhysCellId                        PhysCellId,
    targetCellIdentity                      CellIdentity,
    source-c-RNTI                           RNTI-Value
}

-- TAG-VARRESUMEMAC-INPUT-STOP
-- ASN1STOP

-- ASN1START

-- TAG-VARRLF-REPORT-START

VarRLF-Report-r16 ::=    SEQUENCE {
    rlf-Report-r16           RLF-Report-r16,
    plmn-IdentityList-r16    PLMN-IdentityList2-r16
}

-- TAG-VARRLF-REPORT-STOP
-- ASN1STOP

-- ASN1START

-- TAG-VARSHORTMAC-INPUT-START

VarShortMAC-Input ::=                 SEQUENCE {
    sourcePhysCellId                        PhysCellId,
    targetCellIdentity                      CellIdentity,
    source-c-RNTI                           RNTI-Value
}

-- TAG-VARSHORTMAC-INPUT-STOP
-- ASN1STOP

-- ASN1START

-- TAG-VARSUCCESSHO-Report-START

VarSuccessHO-Report-r17-IEs ::= SEQUENCE {
    successHO-Report-r17            SuccessHO-Report-r17,
    plmn-IdentityList-r17           PLMN-IdentityList2-r16
}
-- TAG-VARSUCCESSHO-Report-STOP
-- ASN1STOP

-- ASN1START


END

-- ASN1STOP

-- ASN1START

-- TAG-NR-SIDELINK-PRECONF-DEFINITIONS-START

NR-Sidelink-Preconf DEFINITIONS AUTOMATIC TAGS ::=

BEGIN

IMPORTS
    SL-RemoteUE-Config-r17,
    SL-DRX-ConfigGC-BC-r17,
    SL-FreqConfigCommon-r16,
    SL-RadioBearerConfig-r16,
    SL-RLC-BearerConfig-r16,
    SL-EUTRA-AnchorCarrierFreqList-r16,
    SL-NR-AnchorCarrierFreqList-r16,
    SL-MeasConfigCommon-r16,
    SL-UE-SelectedConfig-r16,
    TDD-UL-DL-ConfigCommon,
    maxNrofFreqSL-r16,
    maxNrofSLRB-r16,
    maxSL-LCID-r16
FROM NR-RRC-Definitions;

-- TAG-NR-SIDELINK-PRECONF-DEFINITIONS-STOP
-- ASN1STOP

-- ASN1START

-- TAG-SL-PRECONFIGURATIONNR-START

SL-PreconfigurationNR-r16 ::=             SEQUENCE {
    sidelinkPreconfigNR-r16                   SidelinkPreconfigNR-r16,
    ...
}

SidelinkPreconfigNR-r16 ::=                 SEQUENCE {
    sl-PreconfigFreqInfoList-r16                SEQUENCE (SIZE (1..maxNrofFreqSL-r16)) OF SL-FreqConfigCommon-r16     OPTIONAL,
    sl-PreconfigNR-AnchorCarrierFreqList-r16    SL-NR-AnchorCarrierFreqList-r16                                       OPTIONAL,
    sl-PreconfigEUTRA-AnchorCarrierFreqList-r16 SL-EUTRA-AnchorCarrierFreqList-r16                                    OPTIONAL,
    sl-RadioBearerPreConfigList-r16             SEQUENCE (SIZE (1..maxNrofSLRB-r16)) OF SL-RadioBearerConfig-r16      OPTIONAL,
    sl-RLC-BearerPreConfigList-r16              SEQUENCE (SIZE (1..maxSL-LCID-r16)) OF SL-RLC-BearerConfig-r16        OPTIONAL,
    sl-MeasPreConfig-r16                        SL-MeasConfigCommon-r16                                               OPTIONAL,
    sl-OffsetDFN-r16                            INTEGER (1..1000)                                                     OPTIONAL,
    t400-r16                                    ENUMERATED{ms100, ms200, ms300, ms400, ms600, ms1000, ms1500, ms2000} OPTIONAL,
    sl-MaxNumConsecutiveDTX-r16                 ENUMERATED {n1, n2, n3, n4, n6, n8, n16, n32}                         OPTIONAL,
    sl-SSB-PriorityNR-r16                       INTEGER (1..8)                                                        OPTIONAL,
    sl-PreconfigGeneral-r16                     SL-PreconfigGeneral-r16                                               OPTIONAL,
    sl-UE-SelectedPreConfig-r16                 SL-UE-SelectedConfig-r16                                              OPTIONAL,
    sl-CSI-Acquisition-r16                      ENUMERATED {enabled}                                                  OPTIONAL,
    sl-RoHC-Profiles-r16                        SL-RoHC-Profiles-r16                                                  OPTIONAL,
    sl-MaxCID-r16                               INTEGER (1..16383)                                                    DEFAULT 15,
    ...,
    [[
    sl-DRX-PreConfigGC-BC-r17                   SL-DRX-ConfigGC-BC-r17                                                OPTIONAL,
    sl-TxProfileList-r17                        SL-TxProfileList-r17                                                  OPTIONAL,
    sl-PreconfigDiscConfig-r17                  SL-RemoteUE-Config-r17                                                OPTIONAL
    ]]
}

SL-TxProfileList-r17 ::=                    SEQUENCE (SIZE (1..256)) OF SL-TxProfile-r17

SL-TxProfile-r17 ::=                        ENUMERATED {drx-Compatible, drx-Incompatible, spare6, spare5, spare4, spare3,spare2, spare1}

SL-PreconfigGeneral-r16 ::=                 SEQUENCE {
    sl-TDD-Configuration-r16                    TDD-UL-DL-ConfigCommon                                                OPTIONAL,
    reservedBits-r16                            BIT STRING (SIZE (2))                                                 OPTIONAL,
    ...
}

SL-RoHC-Profiles-r16 ::=              SEQUENCE {
    profile0x0001-r16                     BOOLEAN,
    profile0x0002-r16                     BOOLEAN,
    profile0x0003-r16                     BOOLEAN,
    profile0x0004-r16                     BOOLEAN,
    profile0x0006-r16                     BOOLEAN,
    profile0x0101-r16                     BOOLEAN,
    profile0x0102-r16                     BOOLEAN,
    profile0x0103-r16                     BOOLEAN,
    profile0x0104-r16                     BOOLEAN
}

-- TAG-SL-PRECONFIGURATIONNR-STOP
-- ASN1STOP

-- ASN1START


END

-- ASN1STOP

-- ASN1START

-- TAG-SL-ACCESSINFO-L2U2N-START

NR-Sidelink-DiscoveryMessage DEFINITIONS AUTOMATIC TAGS ::=

BEGIN
IMPORTS
    CellAccessRelatedInfo,
    SL-ServingCellInfo-r17
FROM NR-RRC-Definitions;

SL-AccessInfo-L2U2N-r17 ::=             SEQUENCE {
    cellAccessRelatedInfo-r17               CellAccessRelatedInfo,
    sl-ServingCellInfo-r17                  SL-ServingCellInfo-r17,
    ...
}

END

-- TAG-SL-ACCESSINFO-L2U2N-STOP
-- ASN1STOP

-- ASN1START

-- TAG-NR-INTER-NODE-DEFINITIONS-START

NR-InterNodeDefinitions DEFINITIONS AUTOMATIC TAGS ::=

BEGIN

IMPORTS
    ARFCN-ValueNR,
    ARFCN-ValueEUTRA,
    CellIdentity,
    CGI-InfoEUTRA,
    CGI-InfoNR,
    CondReconfigExecCondSCG-r17,
    CSI-RS-Index,
    CSI-RS-CellMobility,
    DRX-Config,
    EUTRA-PhysCellId,
    FeatureSetDownlinkPerCC-Id,
    FeatureSetUplinkPerCC-Id,
    FreqBandIndicatorNR,
    GapConfig,
    maxBandComb,
    maxBands,
    maxBandsEUTRA,
    maxCellSFTD,
    maxFeatureSetsPerBand,
    maxFreq,
    maxFreqIDC-MRDC,
    maxNrofCombIDC,
    maxNrofCondCells-r16,
    maxNrofCondCells-1-r17,
    maxNrofPhysicalResourceBlocks,
    maxNrofSCells,
    maxNrofServingCells,
    maxNrofServingCells-1,
    maxNrofServingCellsEUTRA,
    maxNrofIndexesToReport,
    maxSimultaneousBands,
    MBSInterestIndication-r17,
    MeasQuantityResults,
    MeasResultCellListSFTD-EUTRA,
    MeasResultCellListSFTD-NR,
    MeasResultList2NR,
    MeasResultSCG-Failure,
    MeasResultServFreqListEUTRA-SCG,
    NeedForGapsInfoNR-r16,
    NeedForGapNCSG-InfoNR-r17,
    NeedForGapNCSG-InfoEUTRA-r17,
    OverheatingAssistance,
    OverheatingAssistance-r17,
    P-Max,
    PhysCellId,
    RadioBearerConfig,
    RAN-NotificationAreaInfo,
    RRCReconfiguration,
    ServCellIndex,
    SetupRelease,
    SSB-Index,
    SSB-MTC,
    SSB-ToMeasure,
    SS-RSSI-Measurement,
    ShortMAC-I,
    SubcarrierSpacing,
    UEAssistanceInformation,
    UE-CapabilityRAT-ContainerList,
    maxNrofCLI-RSSI-Resources-r16,
    maxNrofCLI-SRS-Resources-r16,
    RSSI-ResourceId-r16,
    SDT-Config-r17,
    SidelinkUEInformationNR-r16,
    SRS-ResourceId,
    UE-RadioPagingInfo-r17
FROM NR-RRC-Definitions;

-- TAG-NR-INTER-NODE-DEFINITIONS-STOP
-- ASN1STOP

-- ASN1START

-- TAG-CG-CANDIDATELIST-START

CG-CandidateList ::=                SEQUENCE {
    criticalExtensions                  CHOICE {
        c1                                  CHOICE{
            cg-CandidateList-r17                CG-CandidateList-r17-IEs,
            spare3 NULL, spare2 NULL, spare1 NULL
        },
        criticalExtensionsFuture            SEQUENCE {}
    }
}

CG-CandidateList-r17-IEs ::=        SEQUENCE {
    cg-CandidateToAddModList-r17        SEQUENCE (SIZE (1..maxNrofCondCells-r16)) OF CG-CandidateInfo-r17    OPTIONAL,
    cg-CandidateToReleaseList-r17       SEQUENCE (SIZE (1..maxNrofCondCells-r16)) OF CG-CandidateInfoId-r17  OPTIONAL,
    nonCriticalExtension                SEQUENCE {}                                                          OPTIONAL
}

CG-CandidateInfo-r17 ::=            SEQUENCE {
    cg-CandidateInfoId-r17              CG-CandidateInfoId-r17,
    candidateCG-Config-r17             OCTET STRING (CONTAINING CG-Config)
}

CG-CandidateInfoId-r17 ::=           SEQUENCE {
    ssbFrequency-r17                    ARFCN-ValueNR,
    physCellId-r17                      PhysCellId
}

-- TAG-CG-CANDIDATELIST-STOP
-- ASN1STOP

-- ASN1START

-- TAG-HANDOVER-COMMAND-START

HandoverCommand ::=                 SEQUENCE {
    criticalExtensions                  CHOICE {
        c1                                  CHOICE{
            handoverCommand                     HandoverCommand-IEs,
            spare3 NULL, spare2 NULL, spare1 NULL
        },
        criticalExtensionsFuture            SEQUENCE {}
    }
}

HandoverCommand-IEs ::=             SEQUENCE {
    handoverCommandMessage              OCTET STRING (CONTAINING RRCReconfiguration),
    nonCriticalExtension                SEQUENCE {}                                        OPTIONAL
}

-- TAG-HANDOVER-COMMAND-STOP
-- ASN1STOP

-- ASN1START

-- TAG-HANDOVER-PREPARATION-INFORMATION-START

HandoverPreparationInformation ::=      SEQUENCE {
    criticalExtensions                      CHOICE {
        c1                                      CHOICE{
            handoverPreparationInformation          HandoverPreparationInformation-IEs,
            spare3 NULL, spare2 NULL, spare1 NULL
        },
        criticalExtensionsFuture            SEQUENCE {}
    }
}

HandoverPreparationInformation-IEs ::=  SEQUENCE {
    ue-CapabilityRAT-List                   UE-CapabilityRAT-ContainerList,
    sourceConfig                            AS-Config                                       OPTIONAL, -- Cond HO
    rrm-Config                              RRM-Config                                      OPTIONAL,
    as-Context                              AS-Context                                      OPTIONAL,
    nonCriticalExtension                    SEQUENCE {}                                     OPTIONAL
}

AS-Config ::=                           SEQUENCE {
    rrcReconfiguration                      OCTET STRING (CONTAINING RRCReconfiguration),
    ...,
    [[
    sourceRB-SN-Config                      OCTET STRING (CONTAINING RadioBearerConfig)     OPTIONAL,
    sourceSCG-NR-Config                     OCTET STRING (CONTAINING RRCReconfiguration)    OPTIONAL,
    sourceSCG-EUTRA-Config                  OCTET STRING                                    OPTIONAL
    ]],
    [[
    sourceSCG-Configured                    ENUMERATED {true}                               OPTIONAL
    ]],
    [[
    sdt-Config-r17                          SDT-Config-r17                                  OPTIONAL
    ]]
}

AS-Context ::=                          SEQUENCE {
    reestablishmentInfo                     ReestablishmentInfo                                 OPTIONAL,
    configRestrictInfo                      ConfigRestrictInfoSCG                               OPTIONAL,
    ...,
    [[  ran-NotificationAreaInfo            RAN-NotificationAreaInfo                            OPTIONAL
    ]],
    [[  ueAssistanceInformation             OCTET STRING (CONTAINING UEAssistanceInformation)   OPTIONAL   -- Cond HO2
    ]],
    [[
    selectedBandCombinationSN               BandCombinationInfoSN                               OPTIONAL
    ]],
    [[
    configRestrictInfoDAPS-r16              ConfigRestrictInfoDAPS-r16                          OPTIONAL,
    sidelinkUEInformationNR-r16             OCTET STRING                                        OPTIONAL,
    sidelinkUEInformationEUTRA-r16          OCTET STRING                                        OPTIONAL,
    ueAssistanceInformationEUTRA-r16        OCTET STRING                                        OPTIONAL,
    ueAssistanceInformationSCG-r16          OCTET STRING (CONTAINING UEAssistanceInformation)   OPTIONAL,   -- Cond HO2
    needForGapsInfoNR-r16                   NeedForGapsInfoNR-r16                               OPTIONAL
    ]],
    [[
    configRestrictInfoDAPS-v1640            ConfigRestrictInfoDAPS-v1640                        OPTIONAL
    ]],
    [[
    needForGapNCSG-InfoNR-r17               NeedForGapNCSG-InfoNR-r17                           OPTIONAL,
    needForGapNCSG-InfoEUTRA-r17            NeedForGapNCSG-InfoEUTRA-r17                        OPTIONAL,
    mbsInterestIndication-r17               OCTET STRING (CONTAINING MBSInterestIndication-r17) OPTIONAL
    ]]
}

ConfigRestrictInfoDAPS-r16 ::=          SEQUENCE {
    powerCoordination-r16                   SEQUENCE {
        p-DAPS-Source-r16                       P-Max,
        p-DAPS-Target-r16                       P-Max,
        uplinkPowerSharingDAPS-Mode-r16          ENUMERATED {semi-static-mode1, semi-static-mode2, dynamic }
    }                                                                                                       OPTIONAL
}

ConfigRestrictInfoDAPS-v1640 ::=    SEQUENCE {
    sourceFeatureSetPerDownlinkCC-r16   FeatureSetDownlinkPerCC-Id,
    sourceFeatureSetPerUplinkCC-r16     FeatureSetUplinkPerCC-Id
}

ReestablishmentInfo ::=             SEQUENCE {
    sourcePhysCellId                        PhysCellId,
    targetCellShortMAC-I                    ShortMAC-I,
    additionalReestabInfoList               ReestabNCellInfoList                            OPTIONAL
}

ReestabNCellInfoList ::=             SEQUENCE ( SIZE (1..maxCellPrep) ) OF ReestabNCellInfo

ReestabNCellInfo ::= SEQUENCE{
    cellIdentity                            CellIdentity,
    key-gNodeB-Star                         BIT STRING (SIZE (256)),
    shortMAC-I                              ShortMAC-I
}

RRM-Config ::=              SEQUENCE {
    ue-InactiveTime             ENUMERATED {
                                    s1, s2, s3, s5, s7, s10, s15, s20,
                                    s25, s30, s40, s50, min1, min1s20, min1s40,
                                    min2, min2s30, min3, min3s30, min4, min5, min6,
                                    min7, min8, min9, min10, min12, min14, min17, min20,
                                    min24, min28, min33, min38, min44, min50, hr1,
                                    hr1min30, hr2, hr2min30, hr3, hr3min30, hr4, hr5, hr6,
                                    hr8, hr10, hr13, hr16, hr20, day1, day1hr12, day2,
                                    day2hr12, day3, day4, day5, day7, day10, day14, day19,
                                    day24, day30, dayMoreThan30}                            OPTIONAL,
    candidateCellInfoList       MeasResultList2NR                                           OPTIONAL,
    ...,
    [[
    candidateCellInfoListSN-EUTRA      MeasResultServFreqListEUTRA-SCG                      OPTIONAL
    ]]
}

-- TAG-HANDOVER-PREPARATION-INFORMATION-STOP
-- ASN1STOP

-- ASN1START

-- TAG-CG-CONFIG-START

CG-Config ::=                   SEQUENCE {
    criticalExtensions                  CHOICE {
        c1                                  CHOICE{
            cg-Config                           CG-Config-IEs,
            spare3 NULL, spare2 NULL, spare1 NULL
        },
        criticalExtensionsFuture            SEQUENCE {}
    }
}

CG-Config-IEs ::=                   SEQUENCE {
    scg-CellGroupConfig                 OCTET STRING (CONTAINING RRCReconfiguration)    OPTIONAL,
    scg-RB-Config                       OCTET STRING (CONTAINING RadioBearerConfig)     OPTIONAL,
    configRestrictModReq                ConfigRestrictModReqSCG                         OPTIONAL,
    drx-InfoSCG                         DRX-Info                                        OPTIONAL,
    candidateCellInfoListSN             OCTET STRING (CONTAINING MeasResultList2NR)     OPTIONAL,
    measConfigSN                        MeasConfigSN                                    OPTIONAL,
    selectedBandCombination             BandCombinationInfoSN                           OPTIONAL,
    fr-InfoListSCG                      FR-InfoList                                     OPTIONAL,
    candidateServingFreqListNR          CandidateServingFreqListNR                      OPTIONAL,
    nonCriticalExtension                CG-Config-v1540-IEs                             OPTIONAL
}

CG-Config-v1540-IEs ::=             SEQUENCE {
    pSCellFrequency                     ARFCN-ValueNR                                   OPTIONAL,
    reportCGI-RequestNR                 SEQUENCE {
        requestedCellInfo                   SEQUENCE {
            ssbFrequency                        ARFCN-ValueNR,
            cellForWhichToReportCGI             PhysCellId
        }                                                                               OPTIONAL
    }                                                                                   OPTIONAL,
    ph-InfoSCG                          PH-TypeListSCG                                  OPTIONAL,
    nonCriticalExtension                CG-Config-v1560-IEs                             OPTIONAL
}

CG-Config-v1560-IEs ::=             SEQUENCE {
    pSCellFrequencyEUTRA                ARFCN-ValueEUTRA                                OPTIONAL,
    scg-CellGroupConfigEUTRA            OCTET STRING                                    OPTIONAL,
    candidateCellInfoListSN-EUTRA       OCTET STRING                                    OPTIONAL,
    candidateServingFreqListEUTRA       CandidateServingFreqListEUTRA                   OPTIONAL,
    needForGaps                         ENUMERATED {true}                               OPTIONAL,
    drx-ConfigSCG                       DRX-Config                                      OPTIONAL,
    reportCGI-RequestEUTRA              SEQUENCE {
        requestedCellInfoEUTRA          SEQUENCE {
            eutraFrequency                             ARFCN-ValueEUTRA,
            cellForWhichToReportCGI-EUTRA              EUTRA-PhysCellId
        }                                                                               OPTIONAL
    }                                                                                   OPTIONAL,
    nonCriticalExtension                CG-Config-v1590-IEs                             OPTIONAL
}

CG-Config-v1590-IEs ::=             SEQUENCE {
    scellFrequenciesSN-NR               SEQUENCE (SIZE (1..maxNrofServingCells-1)) OF  ARFCN-ValueNR          OPTIONAL,
    scellFrequenciesSN-EUTRA            SEQUENCE (SIZE (1..maxNrofServingCells-1)) OF  ARFCN-ValueEUTRA       OPTIONAL,
    nonCriticalExtension                CG-Config-v1610-IEs                                                    OPTIONAL
}

CG-Config-v1610-IEs ::=             SEQUENCE {
    drx-InfoSCG2                        DRX-Info2                                       OPTIONAL,
    nonCriticalExtension                CG-Config-v1620-IEs                             OPTIONAL
}

CG-Config-v1620-IEs ::=             SEQUENCE {
    ueAssistanceInformationSCG-r16      OCTET STRING (CONTAINING UEAssistanceInformation)  OPTIONAL,
    nonCriticalExtension                CG-Config-v1630-IEs                                OPTIONAL
}

CG-Config-v1630-IEs ::=             SEQUENCE {
    selectedToffset-r16                 T-Offset-r16                                       OPTIONAL,
    nonCriticalExtension                CG-Config-v1640-IEs                                OPTIONAL
}

CG-Config-v1640-IEs ::=             SEQUENCE {
    servCellInfoListSCG-NR-r16          ServCellInfoListSCG-NR-r16                      OPTIONAL,
    servCellInfoListSCG-EUTRA-r16       ServCellInfoListSCG-EUTRA-r16                   OPTIONAL,
    nonCriticalExtension                CG-Config-v1700-IEs                             OPTIONAL
}

CG-Config-v1700-IEs ::=             SEQUENCE {
    candidateCellInfoListCPC-r17        CandidateCellInfoListCPC-r17                    OPTIONAL,
    twoPHRModeSCG-r17                   ENUMERATED {enabled}                            OPTIONAL,
    nonCriticalExtension                CG-Config-v1730-IEs                             OPTIONAL
}

CG-Config-v1730-IEs ::=             SEQUENCE {
    fr1-Carriers-SCG-r17                INTEGER (1..32)                                 OPTIONAL,
    fr2-Carriers-SCG-r17                INTEGER (1..32)                                 OPTIONAL,
    nonCriticalExtension                SEQUENCE {}                                     OPTIONAL
}

ServCellInfoListSCG-NR-r16 ::=      SEQUENCE (SIZE (1..maxNrofServingCells)) OF  ServCellInfoXCG-NR-r16

ServCellInfoXCG-NR-r16 ::=          SEQUENCE {
    dl-FreqInfo-NR-r16                  FrequencyConfig-NR-r16                          OPTIONAL,
    ul-FreqInfo-NR-r16                  FrequencyConfig-NR-r16                          OPTIONAL, -- Cond FDD
    ...
}

FrequencyConfig-NR-r16 ::=          SEQUENCE {
    freqBandIndicatorNR-r16             FreqBandIndicatorNR,
    carrierCenterFreq-NR-r16            ARFCN-ValueNR,
    carrierBandwidth-NR-r16             INTEGER (1..maxNrofPhysicalResourceBlocks),
    subcarrierSpacing-NR-r16            SubcarrierSpacing
}

ServCellInfoListSCG-EUTRA-r16 ::=   SEQUENCE (SIZE (1..maxNrofServingCellsEUTRA)) OF ServCellInfoXCG-EUTRA-r16

ServCellInfoXCG-EUTRA-r16 ::=       SEQUENCE {
    dl-CarrierFreq-EUTRA-r16            ARFCN-ValueEUTRA                                OPTIONAL,
    ul-CarrierFreq-EUTRA-r16            ARFCN-ValueEUTRA                                OPTIONAL, -- Cond FDD
    transmissionBandwidth-EUTRA-r16     TransmissionBandwidth-EUTRA-r16                 OPTIONAL,
    ...
}

TransmissionBandwidth-EUTRA-r16 ::= ENUMERATED {rb6, rb15, rb25, rb50, rb75, rb100}

PH-TypeListSCG ::=                  SEQUENCE (SIZE (1..maxNrofServingCells)) OF PH-InfoSCG

PH-InfoSCG ::=                      SEQUENCE {
    servCellIndex                       ServCellIndex,
    ph-Uplink                           PH-UplinkCarrierSCG,
    ph-SupplementaryUplink              PH-UplinkCarrierSCG                             OPTIONAL,
    ...,
    [[
    twoSRS-PUSCH-Repetition-r17         ENUMERATED{enabled}                             OPTIONAL
    ]]
}

PH-UplinkCarrierSCG ::=             SEQUENCE{
    ph-Type1or3                         ENUMERATED {type1, type3},
    ...
}

MeasConfigSN ::=                    SEQUENCE {
    measuredFrequenciesSN               SEQUENCE (SIZE (1..maxMeasFreqsSN)) OF NR-FreqInfo  OPTIONAL,
    ...
}

NR-FreqInfo ::=                     SEQUENCE {
    measuredFrequency                   ARFCN-ValueNR                                       OPTIONAL,
    ...
}

ConfigRestrictModReqSCG ::=         SEQUENCE {
    requestedBC-MRDC                    BandCombinationInfoSN                               OPTIONAL,
    requestedP-MaxFR1                   P-Max                                               OPTIONAL,
    ...,
    [[
    requestedPDCCH-BlindDetectionSCG    INTEGER (1..15)                                     OPTIONAL,
    requestedP-MaxEUTRA                 P-Max                                               OPTIONAL
    ]],
    [[
    requestedP-MaxFR2-r16               P-Max                                               OPTIONAL,
    requestedMaxInterFreqMeasIdSCG-r16  INTEGER(1..maxMeasIdentitiesMN)                     OPTIONAL,
    requestedMaxIntraFreqMeasIdSCG-r16  INTEGER(1..maxMeasIdentitiesMN)                     OPTIONAL,
    requestedToffset-r16                T-Offset-r16                                        OPTIONAL
    ]]
}

BandCombinationIndex ::= INTEGER (1..maxBandComb)

BandCombinationInfoSN ::=           SEQUENCE {
    bandCombinationIndex                BandCombinationIndex,
    requestedFeatureSets                FeatureSetEntryIndex
}

FR-InfoList ::= SEQUENCE (SIZE (1..maxNrofServingCells-1)) OF FR-Info

FR-Info ::= SEQUENCE {
    servCellIndex       ServCellIndex,
    fr-Type             ENUMERATED {fr1, fr2}
}

CandidateServingFreqListNR ::= SEQUENCE (SIZE (1..maxFreqIDC-MRDC)) OF ARFCN-ValueNR

CandidateServingFreqListEUTRA ::= SEQUENCE (SIZE (1..maxFreqIDC-MRDC)) OF ARFCN-ValueEUTRA

T-Offset-r16 ::= ENUMERATED {ms0dot5, ms0dot75, ms1, ms1dot5, ms2, ms2dot5, ms3, spare1}

CandidateCellInfoListCPC-r17 ::= SEQUENCE (SIZE (1..maxFreq)) OF CandidateCellInfo-r17

CandidateCellInfo-r17 ::=        SEQUENCE {
    ssbFrequency-r17                 ARFCN-ValueNR,
    candidateList-r17                SEQUENCE (SIZE (1..maxNrofCondCells-r16)) OF CandidateCell-r17
}

CandidateCell-r17 ::=            SEQUENCE {
    physCellId-r17                   PhysCellId,
    condExecutionCondSCG-r17         OCTET STRING (CONTAINING CondReconfigExecCondSCG-r17)               OPTIONAL
}

-- TAG-CG-CONFIG-STOP
-- ASN1STOP

-- ASN1START

-- TAG-CG-CONFIG-INFO-START

CG-ConfigInfo ::=               SEQUENCE {
    criticalExtensions              CHOICE {
        c1                              CHOICE{
            cg-ConfigInfo               CG-ConfigInfo-IEs,
            spare3 NULL, spare2 NULL, spare1 NULL
        },
        criticalExtensionsFuture        SEQUENCE {}
    }
}

CG-ConfigInfo-IEs ::=           SEQUENCE {
    ue-CapabilityInfo               OCTET STRING (CONTAINING UE-CapabilityRAT-ContainerList)          OPTIONAL,-- Cond SN-AddMod
    candidateCellInfoListMN         MeasResultList2NR                                                 OPTIONAL,
    candidateCellInfoListSN         OCTET STRING (CONTAINING MeasResultList2NR)                       OPTIONAL,
    measResultCellListSFTD-NR       MeasResultCellListSFTD-NR                                         OPTIONAL,
    scgFailureInfo                  SEQUENCE {
        failureType                     ENUMERATED { t310-Expiry, randomAccessProblem,
                                                     rlc-MaxNumRetx, synchReconfigFailure-SCG,
                                                     scg-reconfigFailure,
                                                     srb3-IntegrityFailure},
        measResultSCG                   OCTET STRING (CONTAINING MeasResultSCG-Failure)
    }                                                                                                 OPTIONAL,
    configRestrictInfo              ConfigRestrictInfoSCG                                             OPTIONAL,
    drx-InfoMCG                     DRX-Info                                                          OPTIONAL,
    measConfigMN                    MeasConfigMN                                                      OPTIONAL,
    sourceConfigSCG                 OCTET STRING (CONTAINING RRCReconfiguration)                      OPTIONAL,
    scg-RB-Config                   OCTET STRING (CONTAINING RadioBearerConfig)                       OPTIONAL,
    mcg-RB-Config                   OCTET STRING (CONTAINING RadioBearerConfig)                       OPTIONAL,
    mrdc-AssistanceInfo             MRDC-AssistanceInfo                                               OPTIONAL,
    nonCriticalExtension            CG-ConfigInfo-v1540-IEs                                           OPTIONAL
}

CG-ConfigInfo-v1540-IEs ::=     SEQUENCE {
    ph-InfoMCG                      PH-TypeListMCG                                                    OPTIONAL,
    measResultReportCGI             SEQUENCE {
        ssbFrequency                    ARFCN-ValueNR,
        cellForWhichToReportCGI         PhysCellId,
        cgi-Info                        CGI-InfoNR
    }                                                                                                 OPTIONAL,
    nonCriticalExtension            CG-ConfigInfo-v1560-IEs                                           OPTIONAL
}

CG-ConfigInfo-v1560-IEs ::=  SEQUENCE {
    candidateCellInfoListMN-EUTRA       OCTET STRING                                                  OPTIONAL,
    candidateCellInfoListSN-EUTRA       OCTET STRING                                                  OPTIONAL,
    sourceConfigSCG-EUTRA               OCTET STRING                                                  OPTIONAL,
    scgFailureInfoEUTRA                 SEQUENCE {
        failureTypeEUTRA                    ENUMERATED { t313-Expiry, randomAccessProblem,
                                                    rlc-MaxNumRetx, scg-ChangeFailure},
        measResultSCG-EUTRA                 OCTET STRING
    }                                                                                                 OPTIONAL,
    drx-ConfigMCG                       DRX-Config                                                    OPTIONAL,
    measResultReportCGI-EUTRA               SEQUENCE {
        eutraFrequency                      ARFCN-ValueEUTRA,
        cellForWhichToReportCGI-EUTRA           EUTRA-PhysCellId,
        cgi-InfoEUTRA                           CGI-InfoEUTRA
    }                                                                                                 OPTIONAL,
    measResultCellListSFTD-EUTRA        MeasResultCellListSFTD-EUTRA                                  OPTIONAL,
    fr-InfoListMCG                      FR-InfoList                                                   OPTIONAL,
    nonCriticalExtension                CG-ConfigInfo-v1570-IEs                                       OPTIONAL
}

CG-ConfigInfo-v1570-IEs ::=  SEQUENCE {
    sftdFrequencyList-NR                SFTD-FrequencyList-NR                                         OPTIONAL,
    sftdFrequencyList-EUTRA             SFTD-FrequencyList-EUTRA                                      OPTIONAL,
    nonCriticalExtension                CG-ConfigInfo-v1590-IEs                                       OPTIONAL
}

CG-ConfigInfo-v1590-IEs ::=  SEQUENCE {
    servFrequenciesMN-NR            SEQUENCE (SIZE (1..maxNrofServingCells-1)) OF  ARFCN-ValueNR     OPTIONAL,
    nonCriticalExtension            CG-ConfigInfo-v1610-IEs                                           OPTIONAL
}

CG-ConfigInfo-v1610-IEs ::=  SEQUENCE {
    drx-InfoMCG2                 DRX-Info2                                                            OPTIONAL,
    alignedDRX-Indication        ENUMERATED {true}                                                    OPTIONAL,
    scgFailureInfo-r16                  SEQUENCE {
        failureType-r16                     ENUMERATED { scg-lbtFailure-r16, beamFailureRecoveryFailure-r16,
                                                         t312-Expiry-r16, bh-RLF-r16,
                                                         beamFailure-r17, spare3, spare2, spare1},
        measResultSCG-r16                   OCTET STRING (CONTAINING MeasResultSCG-Failure)
    }                                                                                                 OPTIONAL,
    dummy1                                  SEQUENCE {
        failureTypeEUTRA-r16                    ENUMERATED { scg-lbtFailure-r16, beamFailureRecoveryFailure-r16,
                                                         t312-Expiry-r16, spare5,
                                                                     spare4, spare3, spare2, spare1},
        measResultSCG-EUTRA-r16                 OCTET STRING
    }                                                                                                 OPTIONAL,
    sidelinkUEInformationNR-r16      OCTET STRING (CONTAINING SidelinkUEInformationNR-r16)            OPTIONAL,
    sidelinkUEInformationEUTRA-r16   OCTET STRING                                                     OPTIONAL,
    nonCriticalExtension             CG-ConfigInfo-v1620-IEs                                          OPTIONAL
}

CG-ConfigInfo-v1620-IEs ::=             SEQUENCE {
    ueAssistanceInformationSourceSCG-r16    OCTET STRING (CONTAINING UEAssistanceInformation)         OPTIONAL,
    nonCriticalExtension                    CG-ConfigInfo-v1640-IEs                                   OPTIONAL
}

CG-ConfigInfo-v1640-IEs ::=             SEQUENCE {
    servCellInfoListMCG-NR-r16              ServCellInfoListMCG-NR-r16                   OPTIONAL,
    servCellInfoListMCG-EUTRA-r16           ServCellInfoListMCG-EUTRA-r16                OPTIONAL,
    nonCriticalExtension                    CG-ConfigInfo-v1700-IEs                      OPTIONAL
}

CG-ConfigInfo-v1700-IEs ::=             SEQUENCE {
    candidateCellListCPC-r17                CandidateCellListCPC-r17                     OPTIONAL,
    twoPHRModeMCG-r17                       ENUMERATED {enabled}                         OPTIONAL,
    lowMobilityEvaluationConnectedInPCell-r17 ENUMERATED {enabled}                       OPTIONAL,
    nonCriticalExtension                    CG-ConfigInfo-v1730-IEs                      OPTIONAL
}

CG-ConfigInfo-v1730-IEs ::=             SEQUENCE {
    fr1-Carriers-MCG-r17                    INTEGER (1..32)                              OPTIONAL,
    fr2-Carriers-MCG-r17                    INTEGER (1..32)                              OPTIONAL,
    nonCriticalExtension                    SEQUENCE {}                                  OPTIONAL
}

ServCellInfoListMCG-NR-r16 ::=          SEQUENCE (SIZE (1..maxNrofServingCells)) OF  ServCellInfoXCG-NR-r16

ServCellInfoListMCG-EUTRA-r16 ::=       SEQUENCE (SIZE (1..maxNrofServingCellsEUTRA)) OF ServCellInfoXCG-EUTRA-r16

SFTD-FrequencyList-NR ::=               SEQUENCE (SIZE (1..maxCellSFTD)) OF ARFCN-ValueNR

SFTD-FrequencyList-EUTRA ::=            SEQUENCE (SIZE (1..maxCellSFTD)) OF ARFCN-ValueEUTRA

ConfigRestrictInfoSCG ::=       SEQUENCE {
    allowedBC-ListMRDC              BandCombinationInfoList                                           OPTIONAL,
    powerCoordination-FR1               SEQUENCE {
        p-maxNR-FR1                     P-Max                                                         OPTIONAL,
        p-maxEUTRA                      P-Max                                                         OPTIONAL,
        p-maxUE-FR1                     P-Max                                                         OPTIONAL
    }                                                                                                 OPTIONAL,
    servCellIndexRangeSCG           SEQUENCE {
        lowBound                        ServCellIndex,
        upBound                         ServCellIndex
    }                                                                                                 OPTIONAL,   -- Cond SN-AddMod
    maxMeasFreqsSCG                     INTEGER(1..maxMeasFreqsMN)                                    OPTIONAL,
    dummy                               INTEGER(1..maxMeasIdentitiesMN)                               OPTIONAL,
    ...,
    [[
    selectedBandEntriesMNList        SEQUENCE (SIZE (1..maxBandComb)) OF SelectedBandEntriesMN        OPTIONAL,
    pdcch-BlindDetectionSCG          INTEGER (1..15)                                                  OPTIONAL,
    maxNumberROHC-ContextSessionsSN  INTEGER(0..16384)                                               OPTIONAL
    ]],
    [[
    maxIntraFreqMeasIdentitiesSCG     INTEGER(1..maxMeasIdentitiesMN)                                 OPTIONAL,
    maxInterFreqMeasIdentitiesSCG     INTEGER(1..maxMeasIdentitiesMN)                                 OPTIONAL
    ]],
    [[
    p-maxNR-FR1-MCG-r16               P-Max                                                           OPTIONAL,
    powerCoordination-FR2-r16         SEQUENCE {
        p-maxNR-FR2-MCG-r16                P-Max                                                      OPTIONAL,
        p-maxNR-FR2-SCG-r16                P-Max                                                      OPTIONAL,
        p-maxUE-FR2-r16                    P-Max                                                      OPTIONAL
    }                                                                                                 OPTIONAL,
    nrdc-PC-mode-FR1-r16    ENUMERATED {semi-static-mode1, semi-static-mode2, dynamic}                OPTIONAL,
    nrdc-PC-mode-FR2-r16    ENUMERATED {semi-static-mode1, semi-static-mode2, dynamic}                OPTIONAL,
    maxMeasSRS-ResourceSCG-r16       INTEGER(0..maxNrofCLI-SRS-Resources-r16)                         OPTIONAL,
    maxMeasCLI-ResourceSCG-r16       INTEGER(0..maxNrofCLI-RSSI-Resources-r16)                        OPTIONAL,
    maxNumberEHC-ContextsSN-r16      INTEGER(0..65536)                                                OPTIONAL,
    allowedReducedConfigForOverheating-r16      OverheatingAssistance                                 OPTIONAL,
    maxToffset-r16                   T-Offset-r16                                                     OPTIONAL
    ]],
    [[
    allowedReducedConfigForOverheating-r17      OverheatingAssistance-r17                             OPTIONAL,
    maxNumberUDC-DRB-r17             INTEGER(0..2)                                                    OPTIONAL,
    maxNumberCPCCandidates-r17       INTEGER(0..maxNrofCondCells-1-r17)                               OPTIONAL
    ]]
}

SelectedBandEntriesMN ::=       SEQUENCE (SIZE (1..maxSimultaneousBands)) OF BandEntryIndex

BandEntryIndex ::=              INTEGER (0..maxNrofServingCells)

PH-TypeListMCG ::=              SEQUENCE (SIZE (1..maxNrofServingCells)) OF PH-InfoMCG

PH-InfoMCG ::=                  SEQUENCE {
    servCellIndex                       ServCellIndex,
    ph-Uplink                           PH-UplinkCarrierMCG,
    ph-SupplementaryUplink              PH-UplinkCarrierMCG                                           OPTIONAL,
    ...,
    [[
    twoSRS-PUSCH-Repetition-r17         ENUMERATED{enabled}                                           OPTIONAL
    ]]
}

PH-UplinkCarrierMCG ::=         SEQUENCE{
    ph-Type1or3                         ENUMERATED {type1, type3},
    ...
}

BandCombinationInfoList ::=     SEQUENCE (SIZE (1..maxBandComb)) OF BandCombinationInfo

BandCombinationInfo ::=         SEQUENCE {
    bandCombinationIndex            BandCombinationIndex,
    allowedFeatureSetsList          SEQUENCE (SIZE (1..maxFeatureSetsPerBand)) OF FeatureSetEntryIndex
}

FeatureSetEntryIndex ::=        INTEGER (1..maxFeatureSetsPerBand)

DRX-Info ::=                    SEQUENCE {
    drx-LongCycleStartOffset        CHOICE {
        ms10                            INTEGER(0..9),
        ms20                            INTEGER(0..19),
        ms32                            INTEGER(0..31),
        ms40                            INTEGER(0..39),
        ms60                            INTEGER(0..59),
        ms64                            INTEGER(0..63),
        ms70                            INTEGER(0..69),
        ms80                            INTEGER(0..79),
        ms128                           INTEGER(0..127),
        ms160                           INTEGER(0..159),
        ms256                           INTEGER(0..255),
        ms320                           INTEGER(0..319),
        ms512                           INTEGER(0..511),
        ms640                           INTEGER(0..639),
        ms1024                          INTEGER(0..1023),
        ms1280                          INTEGER(0..1279),
        ms2048                          INTEGER(0..2047),
        ms2560                          INTEGER(0..2559),
        ms5120                          INTEGER(0..5119),
        ms10240                         INTEGER(0..10239)
    },
    shortDRX                            SEQUENCE {
        drx-ShortCycle                      ENUMERATED  {
                                                ms2, ms3, ms4, ms5, ms6, ms7, ms8, ms10, ms14, ms16, ms20, ms30, ms32,
                                                ms35, ms40, ms64, ms80, ms128, ms160, ms256, ms320, ms512, ms640, spare9,
                                                spare8, spare7, spare6, spare5, spare4, spare3, spare2, spare1 },
        drx-ShortCycleTimer                 INTEGER (1..16)
    }                                                                                             OPTIONAL
}

DRX-Info2 ::=          SEQUENCE {
    drx-onDurationTimer    CHOICE {
                               subMilliSeconds INTEGER (1..31),
                               milliSeconds    ENUMERATED {
                                   ms1, ms2, ms3, ms4, ms5, ms6, ms8, ms10, ms20, ms30, ms40, ms50, ms60,
                                   ms80, ms100, ms200, ms300, ms400, ms500, ms600, ms800, ms1000, ms1200,
                                   ms1600, spare8, spare7, spare6, spare5, spare4, spare3, spare2, spare1 }
                           }
}

MeasConfigMN ::= SEQUENCE {
    measuredFrequenciesMN               SEQUENCE (SIZE (1..maxMeasFreqsMN)) OF NR-FreqInfo        OPTIONAL,
    measGapConfig                       SetupRelease { GapConfig }                                OPTIONAL,
    gapPurpose                          ENUMERATED {perUE, perFR1}                                OPTIONAL,
    ...,
    [[
    measGapConfigFR2                    SetupRelease { GapConfig }                                OPTIONAL
    ]],
    [[
    interFreqNoGap-r16                  ENUMERATED {true}                                         OPTIONAL
    ]]
}

MRDC-AssistanceInfo ::= SEQUENCE {
    affectedCarrierFreqCombInfoListMRDC     SEQUENCE (SIZE (1..maxNrofCombIDC)) OF AffectedCarrierFreqCombInfoMRDC,
    ...,
    [[
    overheatingAssistanceSCG-r16            OCTET STRING (CONTAINING OverheatingAssistance)       OPTIONAL
    ]],
    [[
    overheatingAssistanceSCG-FR2-2-r17      OCTET STRING (CONTAINING OverheatingAssistance-r17)   OPTIONAL
    ]]
}

AffectedCarrierFreqCombInfoMRDC ::= SEQUENCE {
    victimSystemType                    VictimSystemType,
    interferenceDirectionMRDC           ENUMERATED {eutra-nr, nr, other, utra-nr-other, nr-other, spare3, spare2, spare1},
    affectedCarrierFreqCombMRDC         SEQUENCE    {
        affectedCarrierFreqCombEUTRA        AffectedCarrierFreqCombEUTRA                          OPTIONAL,
        affectedCarrierFreqCombNR           AffectedCarrierFreqCombNR
    }                                                                                             OPTIONAL
}

VictimSystemType ::= SEQUENCE {
    gps                         ENUMERATED {true}               OPTIONAL,
    glonass                     ENUMERATED {true}               OPTIONAL,
    bds                         ENUMERATED {true}               OPTIONAL,
    galileo                     ENUMERATED {true}               OPTIONAL,
    wlan                        ENUMERATED {true}               OPTIONAL,
    bluetooth                   ENUMERATED {true}               OPTIONAL
}

AffectedCarrierFreqCombEUTRA ::= SEQUENCE (SIZE (1..maxNrofServingCellsEUTRA)) OF ARFCN-ValueEUTRA

AffectedCarrierFreqCombNR ::= SEQUENCE (SIZE (1..maxNrofServingCells)) OF ARFCN-ValueNR

CandidateCellListCPC-r17 ::= SEQUENCE (SIZE (1..maxFreq)) OF CandidateCellCPC-r17

CandidateCellCPC-r17 ::=           SEQUENCE {
    ssbFrequency-r17                   ARFCN-ValueNR,
    candidateCellList-r17              SEQUENCE (SIZE (1..maxNrofCondCells-r16)) OF PhysCellId
}

-- TAG-CG-CONFIG-INFO-STOP
-- ASN1STOP

-- ASN1START

-- TAG-MEASUREMENT-TIMING-CONFIGURATION-START

MeasurementTimingConfiguration ::=      SEQUENCE {
    criticalExtensions                      CHOICE {
        c1                                      CHOICE{
            measTimingConf                          MeasurementTimingConfiguration-IEs,
            spare3 NULL, spare2 NULL, spare1 NULL
        },
        criticalExtensionsFuture        SEQUENCE {}
    }
}

MeasurementTimingConfiguration-IEs ::=  SEQUENCE {
    measTiming                              MeasTimingList                                      OPTIONAL,
    nonCriticalExtension                    MeasurementTimingConfiguration-v1550-IEs            OPTIONAL
}

MeasurementTimingConfiguration-v1550-IEs ::= SEQUENCE {
    campOnFirstSSB                               BOOLEAN,
    psCellOnlyOnFirstSSB                         BOOLEAN,
    nonCriticalExtension                         MeasurementTimingConfiguration-v1610-IEs       OPTIONAL
}

MeasurementTimingConfiguration-v1610-IEs ::=  SEQUENCE {
    csi-RS-Config-r16                             SEQUENCE {
        csi-RS-SubcarrierSpacing-r16                  SubcarrierSpacing,
        csi-RS-CellMobility-r16                       CSI-RS-CellMobility,
        refSSBFreq-r16                                ARFCN-ValueNR
    },
    nonCriticalExtension                          SEQUENCE {}                                   OPTIONAL
}

MeasTimingList ::= SEQUENCE (SIZE (1..maxMeasFreqsMN)) OF MeasTiming

MeasTiming ::= SEQUENCE {
    frequencyAndTiming                      SEQUENCE {
        carrierFreq                             ARFCN-ValueNR,
        ssbSubcarrierSpacing                    SubcarrierSpacing,
        ssb-MeasurementTimingConfiguration      SSB-MTC,
        ss-RSSI-Measurement                     SS-RSSI-Measurement                             OPTIONAL
    }                                                                                           OPTIONAL,
    ...,
    [[
    ssb-ToMeasure                           SSB-ToMeasure                                       OPTIONAL,
    physCellId                              PhysCellId                                          OPTIONAL
    ]]
}

-- TAG-MEASUREMENT-TIMING-CONFIGURATION-STOP
-- ASN1STOP

-- ASN1START

-- TAG-UE-RADIO-PAGING-INFORMATION-START

UERadioPagingInformation ::= SEQUENCE {
    criticalExtensions                  CHOICE {
        c1                                  CHOICE{
            ueRadioPagingInformation            UERadioPagingInformation-IEs,
            spare7 NULL,
            spare6 NULL, spare5 NULL, spare4 NULL,
            spare3 NULL, spare2 NULL, spare1 NULL
        },
        criticalExtensionsFuture            SEQUENCE {}
    }
}

UERadioPagingInformation-IEs ::=    SEQUENCE {
    supportedBandListNRForPaging        SEQUENCE (SIZE (1..maxBands)) OF FreqBandIndicatorNR    OPTIONAL,
    nonCriticalExtension                UERadioPagingInformation-v15e0-IEs                      OPTIONAL
}

UERadioPagingInformation-v15e0-IEs ::= SEQUENCE {
    dl-SchedulingOffset-PDSCH-TypeA-FDD-FR1     ENUMERATED {supported}          OPTIONAL,
    dl-SchedulingOffset-PDSCH-TypeA-TDD-FR1     ENUMERATED {supported}          OPTIONAL,
    dl-SchedulingOffset-PDSCH-TypeA-TDD-FR2     ENUMERATED {supported}          OPTIONAL,
    dl-SchedulingOffset-PDSCH-TypeB-FDD-FR1     ENUMERATED {supported}          OPTIONAL,
    dl-SchedulingOffset-PDSCH-TypeB-TDD-FR1     ENUMERATED {supported}          OPTIONAL,
    dl-SchedulingOffset-PDSCH-TypeB-TDD-FR2     ENUMERATED {supported}          OPTIONAL,
    nonCriticalExtension                UERadioPagingInformation-v1700-IEs          OPTIONAL
}

UERadioPagingInformation-v1700-IEs ::= SEQUENCE {
    ue-RadioPagingInfo-r17                 OCTET STRING (CONTAINING UE-RadioPagingInfo-r17)     OPTIONAL,
    inactiveStatePO-Determination-r17      ENUMERATED {supported}                               OPTIONAL,
    numberOfRxRedCap-r17                   ENUMERATED {one, two}                                OPTIONAL,
    halfDuplexFDD-TypeA-RedCap-r17         SEQUENCE (SIZE (1..maxBands)) OF FreqBandIndicatorNR OPTIONAL,
    nonCriticalExtension                   SEQUENCE {}                                          OPTIONAL
}

-- TAG-UE-RADIO-PAGING-INFORMATION-STOP
-- ASN1STOP

-- ASN1START

-- TAG-UE-RADIO-ACCESS-CAPABILITY-INFORMATION-START

UERadioAccessCapabilityInformation ::= SEQUENCE {
    criticalExtensions                  CHOICE {
        c1                                  CHOICE{
            ueRadioAccessCapabilityInformation    UERadioAccessCapabilityInformation-IEs,
            spare7 NULL,
            spare6 NULL, spare5 NULL, spare4 NULL,
            spare3 NULL, spare2 NULL, spare1 NULL
        },
        criticalExtensionsFuture            SEQUENCE {}
    }
}

UERadioAccessCapabilityInformation-IEs ::= SEQUENCE {
    ue-RadioAccessCapabilityInfo               OCTET STRING (CONTAINING UE-CapabilityRAT-ContainerList),
    nonCriticalExtension                       SEQUENCE {}                                                   OPTIONAL
}

-- TAG-UE-RADIO-ACCESS-CAPABILITY-INFORMATION-STOP
-- ASN1STOP

-- ASN1START

-- TAG-NR-MULTIPLICITY-AND-CONSTRAINTS-START

maxMeasFreqsMN              INTEGER ::= 32  -- Maximum number of MN-configured measurement frequencies
maxMeasFreqsSN              INTEGER ::= 32  -- Maximum number of SN-configured measurement frequencies
maxMeasIdentitiesMN         INTEGER ::= 62  -- Maximum number of measurement identities that a UE can be configured with
maxCellPrep                 INTEGER ::= 32  -- Maximum number of cells prepared for handover

-- TAG-NR-MULTIPLICITY-AND-CONSTRAINTS-STOP
-- ASN1STOP

-- ASN1START

-- TAG-NR-INTER-NODE-DEFINITIONS-END-START

END

-- TAG-NR-INTER-NODE-DEFINITIONS-END-STOP
-- ASN1STOP

-- ASN1START

-- TAG-NAME-START

-- TAG-NAME-STOP
-- ASN1STOP

